ITOBEN STYLE > EC-CUBE3 > EC-CUBE注文受付メールを複数のメールアドレスに送信する 2017年5月11日カテゴリー: EC-CUBE3 EC-CUBE注文受付メールを複数のメールアドレスに送信する EC-CUBE3系の場合 ■src/Eccube/Service/MailService.php 234行目付近、public function sendOrderMail内を修正。 [php] public function sendOrderMail(\Eccube\Entity\Order $Order) { log_info(‘受注メール送信開始’); $MailTemplate = $this->app[‘eccube.repository.mail_template’]->find(1); $body = $this->app->renderView($MailTemplate->getFileName(), array( ‘header’ => $MailTemplate->getHeader(), ‘footer’ => $MailTemplate->getFooter(), ‘Order’ => $Order, )); $message = \Swift_Message::newInstance() ->setSubject(‘[‘ . $this->BaseInfo->getShopName() . ‘] ‘ . $MailTemplate->getSubject()) ->setFrom(array($this->BaseInfo->getEmail01() => $this->BaseInfo->getShopName())) ->setTo(array($Order->getEmail())) //->setBcc($this->BaseInfo->getEmail01()) ->setBcc(array($this->BaseInfo->getEmail01(),’●●●@○○○.com’)) ->setReplyTo($this->BaseInfo->getEmail03()) ->setReturnPath($this->BaseInfo->getEmail04()) ->setBody($body); [/php] (1)上記コードの17行目で元のコードをコメントアウト(//を追加)します。 //->setBcc($this->BaseInfo->getEmail01()) (2)コメントアウトした行の下に新しいコードを追加します。 ->setBcc(array($this->BaseInfo->getEmail01(),’●●●@○○○.com’)) 配列に書き換えることで、BCCで複数配信が可能になります。 $this->BaseInfo->getEmail01() ↑これは、管理画面ショップマスターの「送信元メールアドレス(From)」で登録しているメールアドレスです。 ,’●●●@○○○.com‘ ↑追加するメールアドレス。「,」で区切り、「‘」と「‘」で囲みます。 送信先を3つにしたい場合は、さらに ,’■■■@□□□.com’ を追加します。 【お問い合わせ受付メール】 お問い合わせ受付メールも同様に、複数配信が可能です。 public function sendContactMail内を修正します。 (1)コメントアウト //->setBcc($this->BaseInfo->getEmail02()) (2)追加 ->setBcc(array($this->BaseInfo->getEmail02(),’●●●@○○○.com’)) EC-CUBE2系の場合 管理画面SHOPマスターの「商品注文受付メールアドレス」に複数のメールアドレスを入力できるようにします。 ■data/class/pages/admin/basis/LC_Page_Admin_Basis.php 144行目付近、public function lfInitParam(&$objFormParam, $post)内を修正。 [php] $objFormParam->addParam(‘商品注文受付メールアドレス’, ‘email01’, null, ‘a’, array(‘EXIST_CHECK’, ‘EMAIL_CHECK’, ‘EMAIL_CHAR_CHECK’)); [/php] (1)↓【変更】 , ‘EMAIL_CHECK’, ‘EMAIL_CHAR_CHECK’ を削除します。 [php] $objFormParam->addParam(‘商品注文受付メールアドレス’, ‘email01’, null, ‘a’, array(‘EXIST_CHECK’)); [/php] (2)管理画面SHOPマスターの「商品注文受付メールアドレス」に、「,」で区切って複数のメールアドレスを入力します。 ■■■@□□□.com,●●●@○○○.com 【お問い合わせ受付メール】 お問い合わせ受付メールも同様に、複数配信が可能です。 (1)修正 $objFormParam->addParam(‘問い合わせ受付メールアドレス’, ‘email02’, null, ‘a’, array(‘EXIST_CHECK’)) (2)管理画面SHOPマスターの「問い合わせ受付メールアドレス」に、「,」で区切って複数のメールアドレスを入力します。
EC-CUBE3系の場合
■src/Eccube/Service/MailService.php
234行目付近、public function sendOrderMail内を修正。
[php]
public function sendOrderMail(\Eccube\Entity\Order $Order)
{
log_info(‘受注メール送信開始’);
$MailTemplate = $this->app[‘eccube.repository.mail_template’]->find(1);
$body = $this->app->renderView($MailTemplate->getFileName(), array(
‘header’ => $MailTemplate->getHeader(),
‘footer’ => $MailTemplate->getFooter(),
‘Order’ => $Order,
));
$message = \Swift_Message::newInstance()
->setSubject(‘[‘ . $this->BaseInfo->getShopName() . ‘] ‘ . $MailTemplate->getSubject())
->setFrom(array($this->BaseInfo->getEmail01() => $this->BaseInfo->getShopName()))
->setTo(array($Order->getEmail()))
//->setBcc($this->BaseInfo->getEmail01())
->setBcc(array($this->BaseInfo->getEmail01(),’●●●@○○○.com’))
->setReplyTo($this->BaseInfo->getEmail03())
->setReturnPath($this->BaseInfo->getEmail04())
->setBody($body);
[/php]
(1)上記コードの17行目で元のコードをコメントアウト(//を追加)します。
//->setBcc($this->BaseInfo->getEmail01())
(2)コメントアウトした行の下に新しいコードを追加します。
->setBcc(array($this->BaseInfo->getEmail01(),’●●●@○○○.com’))
配列に書き換えることで、BCCで複数配信が可能になります。
$this->BaseInfo->getEmail01()
↑これは、管理画面ショップマスターの「送信元メールアドレス(From)」で登録しているメールアドレスです。
,’●●●@○○○.com‘
↑追加するメールアドレス。「,」で区切り、「‘」と「‘」で囲みます。
送信先を3つにしたい場合は、さらに ,’■■■@□□□.com’ を追加します。
【お問い合わせ受付メール】
お問い合わせ受付メールも同様に、複数配信が可能です。
public function sendContactMail内を修正します。
(1)コメントアウト
//->setBcc($this->BaseInfo->getEmail02())
(2)追加
->setBcc(array($this->BaseInfo->getEmail02(),’●●●@○○○.com’))
EC-CUBE2系の場合
管理画面SHOPマスターの「商品注文受付メールアドレス」に複数のメールアドレスを入力できるようにします。
■data/class/pages/admin/basis/LC_Page_Admin_Basis.php
144行目付近、public function lfInitParam(&$objFormParam, $post)内を修正。
[php]
$objFormParam->addParam(‘商品注文受付メールアドレス’, ‘email01’, null, ‘a’, array(‘EXIST_CHECK’, ‘EMAIL_CHECK’, ‘EMAIL_CHAR_CHECK’));
[/php]
(1)↓【変更】 , ‘EMAIL_CHECK’, ‘EMAIL_CHAR_CHECK’ を削除します。
[php]
$objFormParam->addParam(‘商品注文受付メールアドレス’, ‘email01’, null, ‘a’, array(‘EXIST_CHECK’));
[/php]
(2)管理画面SHOPマスターの「商品注文受付メールアドレス」に、「,」で区切って複数のメールアドレスを入力します。
■■■@□□□.com,●●●@○○○.com
【お問い合わせ受付メール】
お問い合わせ受付メールも同様に、複数配信が可能です。
(1)修正
$objFormParam->addParam(‘問い合わせ受付メールアドレス’, ‘email02’, null, ‘a’, array(‘EXIST_CHECK’))
(2)管理画面SHOPマスターの「問い合わせ受付メールアドレス」に、「,」で区切って複数のメールアドレスを入力します。