baserCMS LOLIPOP! サーバー環境におけるメールフォーム利用時の「SPF」対応について

baserCMS LOLIPOP! サーバー環境におけるメールフォーム利用時の「SPF」対応について
- 2025/5/17 追記
「DKIM」「DMARC」対応に関して、最新の情報に更新しました。

ことの発端は、メールフォームの自動応答メールが迷惑メール扱いされるケースが多く、なんとか対策はないかと試行錯誤したことから始まります。

まず、いきなり結論めいた話、

  • 「SPF(「DKIM」「DMARC」)対応の設定を行っても、baserCMSメールフォームの自動応答メールが迷惑メール扱いされるケースの完全な対策になるわけではない。」
  • SPF(「DKIM」「DMARC」)対応の設定を行っても、利用しているメールサービス、メーラー次第で、独自に迷惑メールと判断されてしまうケースがある」

のです。

とはいえ、迷惑メール扱いの対策の一つであることは間違いなく、それなりの効果は、間違いなくあります。 以下の表は、私の管理する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レコード設定の対応を「LOLIPOP!」サーバーで「baserCMS」利用の環境で実施する場合(あるいは、「ムームードメインで取得」した「独自ドメイン」でサイト運用する場合)、以下の対応でひとまずSPFレコード設定をPASSすることができますし、ドコモ以外のキャリアやメールサービス、メーラーによっては有効です。

以下、まずは「baserCMS」「LOLIPOP!」の環境におけるDNSサーバー側に必要なDNSレコード設定の手順です。

まず、独自ドメイン管理をロリポップ!のネームサーバーで行っている場合は、SPFレコードの設定をユーザー側で任意に行うことができないのですが、後述のロリポップ!サイトの記事によると、2025年5月時点で「SPF」「DKIM」「DMARC」の設定が既に対応済みとのこと。
一方で、独自ドメインをムームードメインで取得している場合で「ムームーDNS移行」の仕組みを使って、ネームサーバーをムームードメインへ移行している場合は、「SPF」および「DMARC」(「DKIM」は自動で対応済みのようです)対応に必要なDNSレコード設定をムームードメインの管理画面で行う(任意)必要があります。
以下のロリポップ!サイトの記事を参照して必要なDNSレコード設定を行います。
「DKIM」「DMARC」への対応完了と、Gmail宛ての送信に関するお知らせ(Gmail送信者ガイドラインへの対応)

ちなみに、Gmailのメール送信者ガイドラインの変更(迷惑メール対策が強化)に伴う「Gmailメールアドレス宛に1日に5,000通以上のメール送信する方」という条件に該当しなければ、特に「DKIM」「DMARC」の対策は不要なようですが、ひとまず、できる対応は全てしておくべし!で良いかと思います。

さて、ロリポップサーバー(ムームーDNS移行)およびムームードメインのコントロールパネルで「SPF」および「DMARC」対応の設定まで完了した状態で、メールフォームからテスト送信を実行。 受け取った自動応答メールのヘッダー情報を確認したところ、結果は「Received-Spf:none」のままです。

次に、baserCMS側での設定です。
「Received-Spf:pass」にするためには、baserCMSの基本設定画面の「メール設定」オプションの「additional_parameters(オプション)」指定欄(baserCMS4.2.2で実装されたもの)で、当該独自ドメインのエンベロープFromを改めて指定する必要があります。 具体的には、「additional_parameters(オプション)」欄に -f オプション付きで「-f hoge@sample.com」と言う具合に当該独自ドメインを含むエンベロープFromを指定します。

画像の説明

この状態で、メールフォームから再度テスト送信を実行し、受け取った自動応答メールのヘッダー情報で「Received-Spf:pass」となっていれば完了です。

いろいろ調べてみると、PHPのmail()関数でメール送信をする場合は、第5引数としてEnvelope-Fromを指定しないとデフォルトのドメイン(契約時に発行されるLOLIPOP!ドメイン ex.hoge@sample.lolipop.jp)のままになってしまうんだそうで、それでSPFチェックをすることになってしまいSPFチェックが通らなかったようです。

メールフォームの自動応答メールが迷惑メール扱いされるケースでお悩みの方、是非一度お試しくださいませ。

本記事は、baserCMSユーザーズフォーラムに投稿した記事を再校正して作成しました。

コメント


コメントする


I8PAMj