2014年11月29日土曜日

SPFの設定はしたけど、EC-CUBEから送信されるメールが迷惑メールになる場合の対処法

SYSTEM_KDです。

久々にEC-CUBEネタです。(タイトル長いw)
SPFの設定は行ったが、EC-CUBEから送信されるメールが迷惑メール扱いになってしまう場合があるかと思いますが、その対処方法について書いてみます。

早速ですが、対処方法は以下の3ステップになるかと思います。

1.SPFの設定が正しいか確認

2.EC-CUBEからの送信メールのSPFの確認

3.EC-CUBEの修正

まず、「1.」ですが、設定が正しいか確認することのできるツールがありますので、そちらで確認します。
こちらで、結果として「PASS」が表示されればOKです。

ダメな場合は設定の見直しを行って下さい。

次に「2.」ですが、EC-CUBEから送信されたメールのSPFの状態を確認します。
この設定がどこで見れるかといいますと、受信メール(対象のECサイトから送信されたメール)の「メッセージのソース」から確認ができます。
(詳しい場所はメーラーにより異なるので、割愛します)

このメッセージソース内で「SPF」という文字を検索すると、EC-CUBEから送信されたメールがどの様な状態(認証結果)となっているかが確認できます。

この状態が「PASS」であれば、迷惑メールに割り振られなくなるのですが、おそらくPASSになっていないのではないかと思います。

PASSになっていないことが確認されたら、上記のメッセージソース内で、今度は「Return-Path」となっている部分のメールアドレスを確認します。
このアドレスが「1.」で設定したドメインのものになっていないのではないかと思います。

このReturn-Pathのアドレスが認証に利用されるので、ここへSPFで設定したドメインのものが設定される必要があります。

では、EC-CUBE上のどこで設定したアドレスが、ここに設定されるかといいますと、管理画面の「SHOPマスター」へ「メール送信元メールアドレス」といったそれらしい値があるかと思います。ですが、残念ながらこのアドレスがReturn-Pathとして、上手く設定されていない様です。

ということで、「3.EC-CUBEの修正」になります。

修正を行うファイルは「data/class/SC_SendMail.php」になります。
このファイルの310行目あたりを以下のように変更します。
※EC-CUBE2.12以降での場所になります。

case 'mail':
$arrParams = array(‘-f’ . ‘Return-Pathとして設定するアドレス’);
break;

注意点として、-f と Return-Pathとして設定するメールアドレスの間にスペースを入れないようにします。

Return-Pathに設定したメールアドレスが、「eccube@mail.co.jp」と仮定した場合
-feccube@mail.co.jp
となります。

これで、EC-CUBEから送信されたメールのReturn-Pathへ指定のアドレスが設定されSPFで設定が上手く行えていれば、SPF=PASSになり迷惑メール扱いから開放されるかと思います。

環境により一概に全てにおいて解決するとは言えませんが、お困りの方がいらっしゃいましたら、試してみる価値はあるのではないかと思います。

0 件のコメント:

コメントを投稿