EC-CUBEの受注メールを複数に送信する設定画面は無い
EC-CUBEで受注時の管理宛のメールを複数のアカウントで受信したいケースはかなりあります。
ショップを複数のスタッフで運用している場合や、店頭に立って接客をするスタッフと事務所とで情報を共有しながら、手のすいたスタッフが注文管理を行うなんてケースは容易に想像がつきます。
なので当然、「管理画面からでメールを追加するだけでしょ?」と思いきや…無いんですよね、、これが。
カスタム手順
無いものは仕方ありません。探せばプラグインでありそうですが、コードを書けば3分なので、phpファイルを開いて追記して終わらせましょう。
ファイルの所在:src/Eccube/Service/MailService.php
ファイルに修正を入れる場合は、どんなに単純な作業でも必ずバックアップ(複製)をとってからです。
250行目あたりです。
一応オリジナルソースはコメントアウトで残しておき、その下に追記します。
「getEmail01()」というのは、管理用メールアドレスです。追加するメールアドレスは配列に入れます。arrBccMailという配列を作成して、追加アドレスを追加します。
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,
));
$arrBccMail01 = array();
$arrBccMail[] = $this->BaseInfo->getEmail01();
$arrBccMail[] = ‘aaa@bbb.jp’;
$arrBccMail[] = ‘bbb@i.softbank.jp’;
$arrBccMail[] = ‘ccc@gmail.com’;
$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($arrBccMail01)
->setReplyTo($this->BaseInfo->getEmail03())
->setReturnPath($this->BaseInfo->getEmail04())
->setBody($body);
BCCですので、相手先にメールアドレスは見えません。
ついでに、問合せメールにも追加しときましょう。
192行目あたりです。
※こちらは「getEmail02」なので注意してください。
$arrBccMail02 = array();
$arrBccMail[] = $this->BaseInfo->getEmail02();
$arrBccMail[] = ‘aaa@bbb.jp’;
$arrBccMail[] = ‘bbb@i.softbank.jp’;
$arrBccMail[] = ‘ccc@gmail.com’
$message = \Swift_Message::newInstance()
->setSubject(‘[‘ . $this->BaseInfo->getShopName() . ‘] お問い合わせを受け付けました。’)
->setFrom(array($this->BaseInfo->getEmail02() => $this->BaseInfo->getShopName()))
->setTo(array($formData[‘email’]))
//->setBcc($this->BaseInfo->getEmail02())
->setBcc($arrBccMail02)
直接コードに修正を入れた場合は、必ずキャッシュを切って、動作確認を行いましょう。
以上、「EC-CUBEの受注メールを複数に送信する方法」でした。
参考になれば幸いです。