Ticket #234 (closed バグ指摘: 修正済)
MAIL_BACKENDがSMTP時に、管理者へ購入完了メールが配信されない
Reported by: | adachi | Owned by: | nanasess |
---|---|---|---|
Priority: | 中 | Milestone: | EC-CUBE2.4.4 |
Component: | フロント | Version: | 2.0.1(正式版) |
Keywords: | Cc: | ||
修正済み: |
Description (last modified by nanasess) (diff)
MAIL_BACKENDがSMTP時に管理者へ購入完了メールが配信されない
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?forum=10&post_id=5785&topic_id=1619#
Change History
comment:3 Changed 13 years ago by nanasess
- Status changed from closed to reopened
- Resolution 修正済 deleted
- Milestone changed from EC-CUBE to EC-CUBE2.4.3
まだ送信できない環境があるようですので, 差し戻します
comment:4 Changed 13 years ago by nanasess
- Milestone changed from EC-CUBE2.4.3 to EC-CUBE2.4.4
引き続きの対応として, milestone:EC-CUBE2.4.4 へ変更します
comment:5 Changed 13 years ago by nanasess
MAIL_BACKEND=smtp の時は, PEAR::Mail_smtp を使用しますが, このクラスのロジックを見ると, To も Bcc も同一セッションにて RCPT TO: に書き込んでいるようです.
MTA の設定によっては, 同一セッションに設定可能な RCPT TO: が制限されていると思われます.
したがって, 送信できない環境では, この制限に該当しているのではないかと思われます.
comment:6 Changed 13 years ago by nanasess
MAIL_BACKEND=smtp かつ, Bcc 設定時には, Bcc は別セッションで送信するようにした方が良さげですね.
comment:7 Changed 13 years ago by nanasess
- Description modified (diff)
現在の実装は以下のようになっています.
MAIL_BACKEND=smtp
SC_Sendmail::getRecip() は, To, Cc, Bcc の配列を返す. Bcc の送信を行う場合は, SMTP の RCPT TO: に設定され, To と同一のセッションで送信される.
MAIL_BACKEND=mail
SC_Sendmail::getRecip() は, To のみを返す. Bcc は, ヘッダに設定され, mail() 関数の addtional_headers で設定され, 送信される.
comment:8 Changed 13 years ago by nanasess
- Owner changed from somebody to nanasess
- Status changed from reopened to new
version-2_4-dev r18665 にて修正しました.
MAIL_BACKEND=smtp の場合は, SC_Sendmail::getRecip() にて返されるメールアドレスごとに SMTP セッションを確立して送信するよう修正しました.
comment:10 Changed 13 years ago by nanasess
typo がありましたので version-2_4-dev r18665:18666 で修正しています
comment:11 Changed 13 years ago by nanasess
comu-ver2 は r18667 で修正しました
comment:12 Changed 13 years ago by nanasess
- Status changed from assigned to closed
- Resolution set to 修正済
version-2_4 r18725 でマージしました
メールバックエンドに関わらず、Cc,Bcc宛にメールが配信されません。