2017年5月11日カテゴリー:

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マスターの「問い合わせ受付メールアドレス」に、「,」で区切って複数のメールアドレスを入力します。