baserCMS LOLIPOP! メールフォーム利用時のSPFレコード設定について

ことの発端は、メールフォームの自動応答メールが迷惑メール扱いされるケースが多く、なんとか対策はないかと試行錯誤したことから始まります。
まず、結論めいた話、 「SPFレコード設定を行っても、メールフォームの自動応答メールが迷惑メール扱いされるケースの完全な対策になるわけではない。」 です。
とはいえ、迷惑メール扱いの対策の一つであることは間違いなく、それなりの効果は、間違いなくあります。 以下の表は、私の管理するbaserCMSをプラットフォームとしたサイトにてユーザーの方々にご協力いただいき、本対策を実施後に、各社携帯キャリアメールアドレスを指定してbaserCMSのメールフォームからメール送信した場合、自動応答メールが迷惑メール扱いとなる状況に関して調査した結果です。(2020年2月時点)
キャリア名 | アドレスのドメイン名 | 自動応答メールの受信 | 受信フォルダ | 迷惑メールフィルタの設定状況 |
---|---|---|---|---|
au | ○○○@ezweb.ne.jp | ○ | 受信フォルダ | フィルタリング設定 |
au | ○○○@ezweb.ne.jp | ○ | 受信フォルダ | オープンな設定 |
au | ○○○@ezweb.ne.jp | ○ | 受信フォルダ | オープンな設定 |
Docomo | ○○○@docomo.ne.jp | ○ | 迷惑メールフォルダ | オープンな設定 |
Docomo | ○○○@docomo.ne.jp | ○ | 迷惑メールフォルダ | 不明 |
Docomo | ○○○@docomo.ne.jp | × | 不明 | |
Docomo | ○○○@docomo.ne.jp | × | 比較的オープンな設定 | |
Docomo | ○○○@docomo.ne.jp | × | 比較的オープンな設定 | |
SoftBank | ○○○@i.softbank.jp | ○ | 受信フォルダ | なりすましメール拒否設定 |
SoftBank | ○○○@i.softbank.jp | ○ | 受信フォルダ | 不明 |
SoftBank | ○○○@softbank.ne.jp | ○ | 受信フォルダ | デフォルトのまま |
SoftBank | ○○○@○.vodafone.ne.jp | ○ | 受信フォルダ | 不明 |
数が少なく参考程度ではありますが、協力いただいた皆さんの各携帯キャリア毎の受信状況を評価した結果、SPFレコード設定対策は、ドコモを除くキャリアにおいては、相応の効果は見られました。しかし、ドコモだけは受信状況が悪く、明らかにドコモの迷惑メールフィルタリングが他社と比較して強力であることがわかりした。その後、ドコモの迷惑メールフィルタリングに関して調べてみたところ、ドコモが2019年の1月に全アカウントに対して行った「特定送信元/ウイルスメール拒否設定」 による影響がどうも大きいのではないかと推察しています。 では、ドコモユーザーの方で、メールフォームから自動応答メールが迷惑メール扱いとならないようにするには、どのように対策を設定したらいいのかという点ですが、 端的に言うと、ドコモの迷惑メール設定の中の「受信リスト設定」に受信したいメールアドレスを登録するだけです。簡単です、受信リストに「hoge@sample.com」のアドレスを加えるだけで、その他のドコモのフィルタリングサービスを設定していても、「受信リスト設定」に入っているアドレスは、フィルタリングされることはありません。 とはいえ、この設定をメールフォームを利用する不特定多数の方にお願いするというのもナンセンスなので、ちょっと乱暴な結論ではありますが、「ドコモユーザーの方に対して、メールフォームから自動応答メールが迷惑メール扱いとならないようにする方法は困難」と言うことにどうもなりそうです。
前置きが長くなりましたが、ともあれ、SPFレコード設定の対応を「baserCMS」「LOLIPOP!」の環境で実施する場合、以下の対応でひとまずSPFレコード設定をPASSすることができますし、ドコモ以外のキャリアには有効です。
以下、「baserCMS」「LOLIPOP!」の環境におけるSPFレコード設定の手順です。
ロリポップ!のネームサーバーでは、SPFレコードの設定をユーザー側で任意に行うことができないらしく、「ムームーDNS移行」の仕組みを使って、ネームサーバーをムームードメインへ移行してする必要があります。というのも、ムームードメインのネームサーバーはSPFレコード設定の記述をムームードメインの管理画面でユーザーが任意に行えます。しかし、この条件は、ムームードメインでドメインを取得している場合のみです。 (ロリポップ!サイト「SPFレコードの設定はできますか」 ページを参照)
さて、ロリポップサーバー(ムームーDNS移行)およびムームードメインのコントロールパネルでSPF設定まで完了した状態で、メールフォームからテスト送信を実行。 受け取った自動応答メールのヘッダー情報を確認したところ、結果は「Received-Spf:none」のままです。
「Received-Spf:pass」するためには、baserCMSの基本設定画面の「メール設定」オプションの「additional_parameters(オプション)」指定欄(baserCMS4.2.2で実装されたもの)で、当該独自ドメインのmailfromを改めて指定する必要があります。 具体的には、「additional_parameters(オプション)」欄に -f オプションで「-f hoge@sample.com」と言う具合にmailfromのメールアドレスを指定します。
この状態で、メールフォームから再度テスト送信を実行し、受け取った自動応答メールのヘッダー情報で「Received-Spf:pass」となっていれば完了です。
いろいろ調べてみると、PHPでメール送信をする場合は、第5引数でもmailfrom(送信者のメールアドレス)を指定しないとデフォルトのドメイン(契約時に発行されるLOLIPOP!ドメイン ex.hoge@sample.lolipop.jp)を含むアカウントになってしまうんだそうで、それでSPFチェックをすることになってしまいSPFチェックが通らなかったようです。
本件でお悩みの方、是非一度お試しくださいませ。
本記事は、baserCMSユーザーズフォーラムに投稿した記事を再校正して作成しました。