date. 2013/5/20

category. PHP

概要

EC-CUBEの新規会員登録時などにメールアドレスを間違えて登録し、本登録へのメールが送れない事があります。

その場合通常では、設定してあるエラーメールアドレスにメールがいくのですが

今回上手くメールが飛んでいなかったので、飛ぶように修正します。

EC-CUBEのバージョンは2.12.2です。

原因

メールを送り失敗した場合の流れとしては、

メールを送る→成功→失敗だった→送信元にエラーメールを送る

という流れになります。

メールは一度成功と判断してから、失敗と気付き送信元にエラーメールを返すので、

今回の原因としては、送信元のメールアドレスがサーバー宛になっていたため、

送信元のメールアドレスをエラーメールアドレスに設定してあげる事で解決しました。

対処方法

今回は設定でmailとしてあり、メールの送信に使用しているのは

『PEAR::Mail(mailドライバー)』だったのでこちらの修正方法です。

Return-Pathを設定してあげる事で、送信元のメールアドレスを指定します。

ファイルSC_SendMail.php(data/class/SC_SendMail.php)を編集していきます。

Line313あたりの

// $arrParams = array();
$arrParams = '-f'.' errormailaddress@example.com';

とし、パラメータを追加しメールアドレスを指定します。

これで、送信エラーメールを指定したメールアドレスへ飛ばすことが出来ます。

参考サイト

関連記事