バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

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

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
kota_os
投稿日時: 2020/5/8 10:48
対応状況: −−−
新米
登録日: 2020/5/8
居住地:
投稿: 4
受注メールの件名(タイトル)を管理者と購入者で別にしたいです。
[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
居住地: 松戸
投稿: 89
Re: 受注メールの件名(タイトル)を管理者と購入者で別にしたいです。
受注メールの件名を管理者と購入者で分けるには、
メールを管理者宛と購入者宛の2回送信する必要があります。
現在は1回のメール送信のtoに購入者、bccに管理者を設定していると思うので、
同じメールを管理者と購入者で見ることになるため、
件名を分けるためには別々にメールを送信しなければなりません。

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

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

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

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

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

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

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

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


----------------
株式会社ジョーレン
EC-CUBEプラチナパートナー

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

ホームページ

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


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,280名です
総投稿数は109,687件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1567
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

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

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