バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > その他 > 商品注文受付メールが届かず、注文確認メールが2件届きます!

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
asasaki
投稿日時: 2009/3/6 12:47
対応状況: 確認中
新米
登録日: 2009/3/6
居住地:
投稿: 5
商品注文受付メールが届かず、注文確認メールが2件届きます!
【不具合】

最初は、まったくメールが届かなかったので、パラメータ設定のMAIL_BACKENDをデフォルトのsmtpからmailに変更したら、届くようになったのですが、以下のような状況です。
商品注文受付メールアドレスに設定したアドレスに、注文受付メールが届きません。
その代わりに注文者への注文確認メールが2件届きます。

過去にも同じ内容の質問がありましたが、バージョンが違うので
どう対処したらいいか教えてください。



【システム情報】

EC-CUBE 2.3.3
OS Linux users65.heteml.jp 2.6.9-67.ELsmp #1 SMP Fri Nov 16 12:48:03 EST 2007 i686
DBサーバ MySQL 5.0.51a-community-log
WEBサーバ Apache
PHP 5.1.6
GD Loaded
seasoft
投稿日時: 2009/3/6 13:48
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7365
Re: 商品注文受付メールが届かず、注文確認メールが2件届きます!
> その代わりに注文者への注文確認メールが2件届きます。

その2通のメールのヘッダーを貼っておくと良いかと思います。


> 過去にも同じ内容の質問がありましたが、

確かにありましたね。
その URL も貼っておくと良いかと思います。


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

kurobon
投稿日時: 2009/3/6 15:32
対応状況: −−−
長老
登録日: 2008/8/13
居住地:
投稿: 161
Re: 商品注文受付メールが届かず、注文確認メールが2件届きます!
私も商品注文受付メールが届かず、注文確認メールが2件届きます。
デフォルトでこれだと、どうなんでしょうか?


過去ログを参考にして
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=1619&forum=10&post_id=5466#forumpost5466

\data\class\SC_SendMail.php内の263行当たりを以下に書き換え

// TXTメール送信を実行する(bcc付き)
function sendMail2() {
$recipients = array('To' => $this->to,
'Bcc' => $this->bcc);
$header = $this->getTEXTHeader();
// メール送信
$result = $this->objMail->send($recipients, $header, $this->body);
if (PEAR::isError($result)) {
GC_Utils_Ex::gfPrintLog($result->getMessage());
GC_Utils_Ex::gfDebugLog($header);
return false;
}
return true;
}


\data\class\helper\SC_Helper_Mail.php の156行あたりを
if ($objSendMail->sendMail2()) {
 に書き換ええました。

結果今度は注文受付メールは届いたんですが、お客さんへのメールが
届きません。

どこか間違っているでしょうか?




EC-CUBEバージョン 2.3.2
PHPバージョン PHP 5.1.6
DBバージョン MySQL 5.0.22
kurobon
投稿日時: 2009/3/6 17:31
対応状況: −−−
長老
登録日: 2008/8/13
居住地:
投稿: 161
Re: 商品注文受付メールが届かず、注文確認メールが2件届きます!
もう一度元に戻して 過去ログにあったように

SC_Helper_Mail.phpのみを修正する方法でやってみました。
153行目付近の
引用:


if ($objSendMail->sendMail()) {
$this->sfSaveMailHistory($order_id, $template_id, $tosubject, $body);
}



引用:


if ($objSendMail->sendMail()) {
$this->sfSaveMailHistory($order_id, $template_id, $tosubject, $body);
$objSendMail->setItem('', $tosubject, "【お客様へのメールのコピーです】\r\n\r\n".$body, $from, $arrInfo['shop_name'], $from, $error, $error);
$objSendMail->setTo($bcc);
$objSendMail->sendMail();
}

に変えました。

結果、お客さんの確認メール1通、注文受付メールにお客さん確認と受付メール両方が来ました。

両方届かないよりましか、と思いますが、もっと勉強しなければ
いけないのを痛感しています。
もっとスマートに出来る方法はないんでしょうか?
asasaki
投稿日時: 2009/3/9 18:30
対応状況: 解決済
新米
登録日: 2009/3/6
居住地:
投稿: 5
Re: 商品注文受付メールが届かず、注文確認メールが2件届きます!
ありがとうございます。
解決できました。
hamachu
投稿日時: 2009/3/19 16:24
対応状況: 確認中
半人前
登録日: 2009/2/27
居住地: Tokyo
投稿: 11
Re: 商品注文受付メールが届かず、注文確認メールが2件届きます!
kurobonさんの方法で管理者と購入者に2通ずつメールが届いておりました。

以下を変更することで、正常に管理者と購入者に1通ずつ届くようになりました。

// メール送信処理
$objSendMail = new SC_SendMail_Ex();
$bcc = $arrInfo['email01'];
$from = $arrInfo['email03'];
$error = $arrInfo['email04'];
$tosubject = $this->sfMakeSubject($objQuery, $objMailView, $objPage, $tmp_subject);
$objSendMail->setItem('', $tosubject, $body, $from, $arrInfo['shop_name'], $from, $error, $error, $bcc);
$objSendMail->setItem('', $tosubject, $body, $from, $arrInfo['shop_name'], $from, $error, $error);
$objSendMail->setTo($arrOrder["order_email"], $arrOrder["order_name01"] . " ". $arrOrder["order_name02"] ." 様");
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1568
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.