バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 商品購入完了時にメール配信されない(v2.0.1)

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
tao
投稿日時: 2008/1/24 20:00
対応状況: −−−
一人前
登録日: 2007/12/28
居住地: 東京
投稿: 82
Re: 商品購入完了時にメール配信されない(v2.0.1)
追加で調べてみました。
バクエンドでSMTPを利用している状況だと管理者(Bcc)には届いてませんね。
SMTPの仕様でtoだろうとccだろうとbccだろうとコマンドは一緒でした。(ヘッダーからBCC消してるだけ)
なのでヘッダーにだけ追加している現在のEC-CUBE2.0ではBccには送信できていません。
色々いじってみましたが、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();
}


に変えちゃいます。
一度に送ろうとすると大変なので、送信先変えて2回送ってます。$to→$bcc)

SMTPのセッション2回になってしまいますが、連続で大量の発注がくるサイトでもない限り平気そうです。

//EC-Orangeもよろしくお願いします。


----------------

orign
投稿日時: 2008/1/25 1:46
対応状況: −−−
常連
登録日: 2007/12/20
居住地:
投稿: 46
Re: 商品購入完了時にメール配信されない(v2.0.1)
私も2度送信に分けようかと思案しました。
2度送信にすると、メリットとして「管理者宛はタイトルと本文内容を変えられる」事が大きいと思えるからです。

ただ現状では、sendの宛先にbcc分を付加する最初の暫定解決案のままにしています。
と言いますのが、bccであれば基本的にお客様宛分も送信できた・・・と「思える」かなぁ?と。(^^)
なんとなくですが、開発陣の方もその様な意図でbcc利用にしているのではないか?とも思えましたので。

それで私の環境では2度送信は当面見送りますが、mb_send_mailで支障ないことが先の実験で判っているため、sendからmb_send_mailに置き換えてしまおうか?とは思っています。
その方が日本語を扱う上では「安心できそう」ですので。
(注 バックエンド変更可能なメリットを捨てることになりますが、私の環境では支障ないので。)

相変わらず睡眠時間を削って勉強を続けていますが、本当にメール送受信に関しては皆さん苦労している事が良く判りました。(^^)
他の方々も、あれこれ試しているのではないか?と思いますので、良かったら「ウチはこうしてみた」と書き込んで貰えると参考になり助かります。
meimei
投稿日時: 2008/1/30 0:55
対応状況: −−−
新米
登録日: 2007/12/9
居住地:
投稿: 4
Re: 商品購入完了時にメール配信されない(v2.0.1)
tao 様

できました!確認のメールが届きました!
とっても解り易く教えていただき、ありがとうございました!

やっと、これまでの手間が省けます。
基本的な機能がちゃんと動いてくれれば満足なんです。


本当に感謝しております。
tao
投稿日時: 2008/3/8 0:38
対応状況: −−−
一人前
登録日: 2007/12/28
居住地: 東京
投稿: 82
Re: 商品購入完了時にメール配信されない(v2.0.1)
補足で自己レスです。
過去にEC-CUEとはまったく関係の無い部分でメールが送れなくて困った事例をメモっときます。

ケース1
そもそもsendmail(メールサーバーが起動していなかった)

ケース2
旧サイトからの切り替え等、ドメイン名が無い状態(ホスト名のみ)の場合にホスト名を存在しないドメインと取られ送信エラー
→ホスト名消去

ケース3
別のメールサーバーを使用(localhostじゃない)
スパム踏み台防止の為25番ポートが閉じられていた。
→サブミッションポートを使用


----------------

ゲスト
投稿日時: 2008/3/16 5:50
対応状況: −−−
Re: 商品購入完了時にメール配信されない(v2.0.1)
tao様

有益な情報のおかげで、メールの文字化けが直りました。(たぶん?!携帯用は試して無いので。。。)

題名の文字化けに本当に困ってました。
メルマガ配信とお問い合わせと注文メールが直りました。

因みに以下環境です。

EC-CUBE : 2.1.1-beta
PHP : PHP 5.2.5
DB : PostgreSQL 8.2.4

本当にありがとうございます。
ameame
投稿日時: 2009/12/1 23:10
対応状況: −−−
半人前
登録日: 2009/11/22
居住地:
投稿: 30
Re: 商品購入完了時にメール配信されない(v2.0.1)
お世話になります。

注文確認メールの管理者宛(控え)とゲスト注文時はお客様宛、管理者宛どちらも届かず困っております。

皆さんが解決された
下記のどちらも変更済みですが、解決しません。
2日ほどこれにかかっておりますが、後はどこを変更すれば良いのかもわからず困っております。

共有サーバのためmaillogは見ることができません。

サーバと何か関係があるのでしょうか?
どうか宜しくお願いいたします。

1)
MAIL_BACKEND:mail
SMTP_PORT :587

2)
SC_Helper_Mail.php

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();
}



----------------
EC-CUBE 2.4.1
レンタルサーバ:wadaxプロフェッショナル・セキュリティパック
DBサーバ PostgreSQL 7.4.26
WEBサーバ Apache
PHP 5.2.11
seasoft
投稿日時: 2009/12/1 23:28
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7369
Re: 商品購入完了時にメール配信されない(v2.0.1)
> MAIL_BACKEND:mail
> SMTP_PORT :587

同時に設定したのならば、相反する設定のような・・・


まずは、PHP からはどのような方法でメール送信できる(場合によっては全くできない)サーバかをサポート先に確認したほうが良い気がします。


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

ameame
投稿日時: 2009/12/2 16:09
対応状況: −−−
半人前
登録日: 2009/11/22
居住地:
投稿: 30
Re: 商品購入完了時にメール配信されない(v2.0.1)
ご返答ありがとうございます!
>> MAIL_BACKEND:mail
>> SMTP_PORT :587

>同時に設定したのならば、相反する設定のような・・・

そうなのですか・・
MAIL_BACKEND:smtpでは、お客様側のメールも届かないので,
検索した結果mailに変更しました。
SMTP_PORTは25でも587でも同じ結果だったのですが通常のメールの設定と同じ587にしました。

サーバ会社からは下記の返答をもらいましたが
host名を変更しても、同じ現象でした。
=====================================
ECCUBEで注文控えメールを受け取れない件につきまして

通常では、注文控えメールは受け取れるものではございますが、
受け取れない事象をお伺いした事がなく、有効な情報を
持ち合わせていない次第でございます。

587のポートを御利用頂く場合は、SMTP認証が必要となりますが
そういった項目はございますでしょうか。
もしございましたら、そちらをONにして、再度試して頂きますよう
御願いいたします。

また、host名を***.wadax.ne.jpではなく
***.***.***.*** のIPアドレスを入力いただきまして
送信が可能となるかもご確認頂ければと存じます。

あまりお力になれず大変申し訳御座いません。
=====================================

サーバ会社のwadaxはmysqlで専用のec-cubeをインストールするようアナウンスされているのですが、mysqlはあまりにも遅く
使えない状態でしたので、PostgreSQLを使用しております。
またwadax用のec-cubeではなく正式版をインストールしているので
このあたりに何か問題があるのかもしれないです。

wadaxでPostgreSQLを使用し、
管理者宛のメールやゲスト注文時の受注メールも
問題なく受け取られている方がいらっしゃるのか、
お伺いしたかったのですが。

mb_send_mailという方でできないか、
調べてもう一度がんばってみます。

ありがとうございました。
seasoft
投稿日時: 2009/12/2 16:17
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7369
Re: 商品購入完了時にメール配信されない(v2.0.1)
MAIL_BACKEND:mail に設定するのであれば、まずは EC-CUBE 抜きでメール送信可否を確認するのが良いかと思います。


587 での SMTP-Auth 送信は、特殊な環境でしか必要ないはずなので、あまりお勧めいたしませんが・・・
http://seasoft.jp1.cx/ec/tips/smtpauth
私のメモ書きが参考になると良いのですが・・・ いや、参考にせずに済む方法をまずは模索したほうが良いかも。


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

ameame
投稿日時: 2009/12/2 17:53
対応状況: −−−
半人前
登録日: 2009/11/22
居住地:
投稿: 30
Re: 商品購入完了時にメール配信されない(v2.0.1)
ありがとうございました!!

さらに検索で色々試してみましたところ、
前にseasoftさんがコメントされていた下記の方法を試してみましたところ、Gmailではありませんが、管理者宛も届くようになりました。


>> smtpサーバーをためしに、smtpのホストをsmtp.gmail.comに変更しても、改善されませんでしたので、どうしたものかと行き詰ってしまっています。

>Gmail を使うには、SMTP Auth が必要かと思います。参考になれば。
http://seasoft.jp1.cx/ec/tips/smtpauth


(MAIL_BACKENDは:mailからsmtpに戻しました。)
ただ、メールは届きましたが画像が表示されなくなったので、
このあたり、もう少し調べてがんばってみます。
ありがとうございました。
« 1 2 (3)
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は90,867名です
総投稿数は110,501件です

投稿数ランキング

1
seasoft
7369
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1702
8
red
1571
9
mcontact
1392
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
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.