Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
0
Help us understand the problem. What are the problem?

posted at

updated at

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レコードの設定はできますか」ページに記載されている内容を見ると、ムームードメインでドメインを取得している場合以外は、基本ロリポップ!のサービスに依頼する格好でSPFレコード設定は可能のようです。(意外にこっちの方が手っ取り早いのかもしれません。)
と、ここまでは、ネットをググればチラホラ出てくる情報なので、本件でお困りの方にはほぼ周知の情報かと思います。

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

「Received-Spf:pass」するためには、baserCMSの基本設定画面の「メール設定」オプションの「additional_parameters(オプション)」指定欄(baserCMS4.2.2で実装されたもの)で、mailfromを改めて指定する必要があります。
具体的には、「additional_parameters(オプション)」欄に -f オプションで「-f hoge@sample.com」と言う具合にmailfromのメールアドレスを指定します。

スクリーンショット 2021-10-12 9.00.24.png

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

いろいろ調べてみると、PHPでメール送信をする場合は、第5引数でもmailfrom(送信者のメールアドレス)を指定しないとデフォルトのアカウントになってしまうんだそうで、それでSPFチェックをすることになってしまいSPFチェックが通らなかったようです。

本件でお悩みの方、是非一度お試しくださいませ。

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
0
Help us understand the problem. What are the problem?