EC CUBE 3.0系で通販サイトを運営してあったらいいなと思う機能の紹介です。
それはEC CUBEの注文受付メールを複数のメールアカウントで受信する方法です。
では早速編集していきましょう。
編集場所は管理画面ではなく、FTPサーバーのファイルを編集していきます。
(万一に備え、バックアップを取っておくことをお勧めします。)
編集するファイル(MailService.php)
該当のファイルの場所は src/Eccube/Service/MailService.php です。
編集する箇所
229行目あたり * Send order mail. コメントから始まる位置です。
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(array($this->BaseInfo->getEmail01(),'■■■@■■■■■.com'))
->setReplyTo($this->BaseInfo->getEmail03())
->setReturnPath($this->BaseInfo->getEmail04())
->setBody($body);
$event = new EventArgs(
array(
'message' => $message,
'Order' => $Order,
'MailTemplate' => $MailTemplate,
'BaseInfo' => $this->BaseInfo,
),
null
);
$this->app['eccube.event.dispatcher']->dispatch(EccubeEvents::MAIL_ORDER, $event);
$count = $this->app->mail($message);
log_info('受注メール送信完了', array('count' => $count));
return $message;
}
->setBcc($this->BaseInfo->getEmail01())
↓
->setBcc(array($this->BaseInfo->getEmail01(),'■■■@■■■■■.com'))
にarrayを使って追加したいメールアカウントを配列させます。
そして、■■■@■■■■■.com の箇所を注文受付メールを受信したいメールアドレスに変更してください。
一度テスト購入してみて受信が確認できたら完了です。