バージョン選択

フォーラム

メニュー

オンライン状況

45 人のユーザが現在オンラインです。 (30 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 45
もっと...

サイト内検索

質問 > 管理機能 > 受注メールの件名(タイトル)を管理者と購入者で別にしたいです。

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
kota_os
投稿日時: 2020/5/8 10:48
対応状況: −−−
新米
登録日: 2020/5/8
居住地:
投稿: 3
受注メールの件名(タイトル)を管理者と購入者で別にしたいです。
[EC-CUBE] 3.0.16
[レンタルサーバ] GMO
[OS] 使用しているOS名、バージョン
[PHP] 7.2.27
[データベース] MySQL5.7
[ブラウザ] crome

下記の例のように受注メールの件名(タイトル)を管理者と購入者で別にしたいです。

例 )
管理者:お客様よりご注文がありました。
購入者:【店舗名】ご注文いただきありがとうございました。

src/Eccube/Service/MailService.php
までは辿り着けたのですが、カスタマイズ方法がわかりません。
ご教授いただけたらと思っております。

どうぞよろしくお願いします。
kishikawa
投稿日時: 2020/5/8 11:15
対応状況: −−−
常連
登録日: 2018/12/20
居住地: 松戸
投稿: 69
Re: 受注メールの件名(タイトル)を管理者と購入者で別にしたいです。
受注メールの件名を管理者と購入者で分けるには、
メールを管理者宛と購入者宛の2回送信する必要があります。
現在は1回のメール送信のtoに購入者、bccに管理者を設定していると思うので、
同じメールを管理者と購入者で見ることになるため、
件名を分けるためには別々にメールを送信しなければなりません。

kota_osさんが挙げてらっしゃる
MailService.phpのsendOrderMail関数内に受注メールを送信している箇所があるので、
コピーして管理者向けのタイトルと宛先に変更してみてはいかがでしょうか?

==================
株式会社ジョーレン
EC-CUBEゴールドパートナー

中小規模のECサイトに特化
スピード構築でEC事業をサポート致します

ホームページはこちら
技術ブログはこちら
kota_os
投稿日時: 2020/5/8 12:01
対応状況: −−−
新米
登録日: 2020/5/8
居住地:
投稿: 3
Re: 受注メールの件名(タイトル)を管理者と購入者で別にしたいです。

ご返答ありがとうございます。
仕組みを理解しました。
ただ、下記の部分の記述をどのように変更追加して記載すればよいのかわかりません。

 >MailService.phpのsendOrderMail関数内に受注メールを送信している箇所があるので、
 >コピーして管理者向けのタイトルと宛先に変更してみてはいかがでしょうか?

受注メール部分の記述をコピーして管理者宛の箇所を

->setSubject('[' . $this->BaseInfo->getShopName() . '] ご注文がありました' )
->setFrom(array($this->BaseInfo->getEmail01() => $this->BaseInfo->getShopName()))
->setTo(array($Order->getEmail1()))
//->setBcc($this->BaseInfo->getEmail01())

と変更したのですが、エラーとなってしまい、メールが受信できませんでした。

そもそも、MailService.phpの記述のどこからどこまでをコピーすればよいでしょうか?

色々分かっていない事が多く申し訳ないですが、
お助けいただけたらと思います。

よろしくお願いいたします。


kishikawa
投稿日時: 2020/5/8 12:10
対応状況: −−−
常連
登録日: 2018/12/20
居住地: 松戸
投稿: 69
Re: 受注メールの件名(タイトル)を管理者と購入者で別にしたいです。

        $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->getEmail03())
            ->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);


この範囲をコピーし、$count = $this->app->mail($message);の下に貼り付けて、
->setTo(array($Order->getEmail()))
の箇所を
->setTo(array($this->BaseInfo->getEmail01()))
とし、kota_os様もやってらっしゃるようにbccをコメントアウトすればよいかと思います。

setToの$Order->getEmail1()の箇所がエラーになってしまっているのかなと思いました。

==================
株式会社ジョーレン
EC-CUBEゴールドパートナー

中小規模のECサイトに特化
スピード構築でEC事業をサポート致します
EC-CUBE2系、3系、4系構築実績あり

ホームページはこちら
技術ブログはこちら
kota_os
投稿日時: 2020/5/8 13:23
対応状況: 解決済
新米
登録日: 2020/5/8
居住地:
投稿: 3
Re: 受注メールの件名(タイトル)を管理者と購入者で別にしたいです。
kishikawa様

ご返信いただきありがとございます。

いただいた情報をもとに修正したところ、
無事に件名を別々にする事が出来ました。

この度は丁寧なご説明をしてくださり本当に感謝しております。
本当に有難うございました。
kishikawa
投稿日時: 2020/5/8 14:45
対応状況: −−−
常連
登録日: 2018/12/20
居住地: 松戸
投稿: 69
Re: 受注メールの件名(タイトル)を管理者と購入者で別にしたいです。
kota_os様

ご報告いただきありがとうございます。
解決して良かったです


----------------
株式会社ジョーレン
EC-CUBEゴールドパートナー

スピード構築でEC事業をサポート致します
EC-CUBE2系、3系、4系構築実績あり

ホームページ

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

公式ストアEC-CUBE4系デザインテンプレート続々リリース中

統計情報

総メンバー数は65,864名です
総投稿数は98,028件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
468
2591
4
nanasess
2101
5
umebius
1717
6
yuh
1612
7
red
1422
8
h_tanaka
1038
9
fukap
907
10
tsuji
863
11
shutta
835
12
tao_s
792
13 ramrun 789
14 karin 657
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
485
20 tonton 437


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.