EC-CUBE 3.0系 注文受付メールにメールアカウントを追加する方法

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 の箇所を注文受付メールを受信したいメールアドレスに変更してください。

一度テスト購入してみて受信が確認できたら完了です。

現在の稼働率
120%

お仕事のご依頼は
受け付けておりません。