EC-CUBE3ではメール送信はMailServiceというサービスクラスが担当しています。
メールの送信先は管理画面から変更できますが、複数の宛先へ送信したいなどの要望がある場合は、このMailServiceファイルを編集するかプラグインで処理を挟む必要があります。
実際の送信箇所のコードは下記のようになっています。
src/Eccube/MailService.php
// 問い合わせ者にメール送信 $message = \Swift_Message::newInstance() ->setSubject('[' . $this->BaseInfo->getShopName() . '] お問い合わせを受け付けました。') ->setFrom(array($this->BaseInfo->getEmail02() => $this->BaseInfo->getShopName())) ->setTo(array($formData['email'])) ->setBcc($this->BaseInfo->getEmail02()) ->setReplyTo($this->BaseInfo->getEmail02()) ->setReturnPath($this->BaseInfo->getEmail04()) ->setBody($body); $event = new EventArgs( array( 'message' => $message, 'formData' => $formData, 'BaseInfo' => $this->BaseInfo, ), null ); $this->app['eccube.event.dispatcher']->dispatch(EccubeEvents::MAIL_CONTACT, $event); $this->app->mail($message);
管理者へはsetBccでアドレスを設定していますので、ここに配列を渡してやることで複数の宛先へのメール送信が可能です。
また、プラグイン化するときはEccubeEvents::MAIL_CONTACT(‘mail.contact’)のイベントを使うことで処理を挟むことが可能ですね。
弊社では問い合わせメールの複数宛先への送信やタイトル変更ができるプラグインを無料公開中ですので、ぜひご活用ください。
受注確認メールなど他の自動送信メールへの対応版も間も無く公開予定です。
EC-CUBEに関するお問い合わせ
[重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。