メモ > 技術 > CMS: ECCube > メールの送信先
メールの送信先
管理画面の「設定 → 店舗設定 → 基本設定」にて、以下のアドレスを登録できる
・送信元メールアドレス(From)
・問い合わせ受付メールアドレス(From, ReplyTo)
・返信受付メールアドレス(ReplyTo)
・送信エラー受付メールアドレス(ReturnPath)
「注文受付メールアドレス」が無いので注文されても管理者にメールは送信されず、注文内容は管理画面から確認するしかないのだろうか
…と思ったが、src/Eccube/Service/MailService.php の350行目あたりを確認する限り、「送信元メールアドレス(From)」にBccで送られる
/**
* Send order mail.
*
* @param \Eccube\Entity\Order $Order 受注情報
*
* @return \Swift_Message
*/
public function sendOrderMail(\Eccube\Entity\Order $Order)
{
log_info('受注メール送信開始');
$MailTemplate = $this->mailTemplateRepository->find($this->eccubeConfig['eccube_order_mail_template_id']);
$body = $this->twig->render($MailTemplate->getFileName(), [
'Order' => $Order,
]);
$message = (new \Swift_Message())
->setSubject('['.$this->BaseInfo->getShopName().'] '.$MailTemplate->getMailSubject())
->setFrom([$this->BaseInfo->getEmail01() => $this->BaseInfo->getShopName()])
->setTo([$Order->getEmail()])
->setBcc($this->BaseInfo->getEmail01())
->setReplyTo($this->BaseInfo->getEmail03())
->setReturnPath($this->BaseInfo->getEmail04());
また、注文ではなく問い合わせフォームから送信された場合は「問い合わせ受付メールアドレス(From, ReplyTo)」がBCCにセットされる
まとめると
・送信元メールアドレスには、注文を受け付けたいメールアドレスを入力する
・問い合わせ受付メールアドレス、問い合わせフォームからの問い合わせ受け付けたいメールアドレスを入力する
・メールは、顧客に送られるものと同じものがBccで送られる
という挙動となっている
なおReturnPathなどは迷惑メール判定などにも使われるため、
「最終的には shop@example.com にメールが届くようにし、送信元もこのアドレスにする
ただしテストのために一時的に test@refirio.net に注文メールなどを送信したい」
という場合、以下のように設定すると良さそう
送信元メールアドレス(From) : test@refirio.net
問い合わせ受付メールアドレス(From, ReplyTo) : test@refirio.net
返信受付メールアドレス(ReplyTo) : shop@example.com
送信エラー受付メールアドレス(ReturnPath) : shop@example.com
※Fromのアドレスが変わるので、問題があるか。要検証
※テストが完了したら、「問い合わせ受付メールアドレス」も shop@example.com に変更する
Advertisement