世の中にはFPSレコードというものがあるそうです。これは何かと言いますと、正しく使っているメールアドレスを受信側に「なりすましメール」として扱われないために設定するものです。
これが未設定だと受信側が「信用できない」とスパムメール判定をして迷惑メールフォルダへ直行されたり、酷い時には受信拒否されてしまったりします。この際、何が困るかと言うと送った側はメールがどうなったかわからないという点です。アドレスのスペルミスなどでエラーが返ってくればすぐにわかるのですが、送信できていることは間違いないのでエラーが返ってこないのです。送ったつもりが届いていない、友人へのメールならまだしも仕事などでこれが起きると非常にやっかいです。
Gmailなどからスパム判定を受ける
実際にこれが起きました。WordPress経由でGmailへ送ったメールが迷惑メールフォルダへ直行したのです。
調べてみるとFPSレコードの認証が失敗しているとのこと。
Gmailの「メッセージのソースを表示」から見てみると、「Received-SPF: fail」という箇所がありました。
これが「Received-SPF: pass」にならなければいけません。
私はドメインをお名前.comで、VPSをさくらで、そしてメールはさくらメールボックスを利用しています。
SPFレコードの設定はドメインで行うので、お名前.comにログインしてDNS設定画面へ。
「DNS関連機能の設定」→「DNSレコード設定を利用する」と進み、
「ホスト名:空欄」「タイプ:TXT」「TTL:3600」で、「VALUE」の部分へFPSレコードを書きます。
自分のVPSのIPアドレスが必要となるので確認をしておきます。
ここでは仮に、自分のIPを「111.111.111.111」とします。
状態が有効になっていることを確認して設定ボタンをぽちっ。
これで自分のIPアドレスから送られていることが証明できて、無事に届くはず。
と、思いきや……これでも認証に失敗するケースが出てきました。
さくらメールボックス経由で送るとIPも異なる
認証に失敗したメールを見てみると、IPが「111.111.111.111」では無いようです。
調べていくと、さくらメールボックスのサーバから送られるメールはIPが異なる模様。それもそうか。
2種類のIPから送られてくるメールはどうやって証明したらいいんだ? と思ったら続けて書いちゃっていいみたいです。いかにもスパムがやらかしそうなことですが、本当にいいのかな……。
というわけで、今度はさくらのサーバコントロールパネルへログインして、まずは「ドメイン設定」から該当ドメインの「変更」を押して、「SPFレコードを利用する」にチェックを入れて更新。
続いて、「サーバ情報の表示」から「サーバに関する情報」へ進んで、表示されたIPアドレスをコピペでメモ。
ここでは仮に、さくらメールボックスのIPを「555.555.555.555」とします。
そして、またお名前.comに戻って今度は、
こうやって2個書いてあげました。
改行はせずに、半角スペースを空けて書くのがルールです。
結果
反映には1日~数日時間が掛かるなどとよく言われますが、なんやかやで数十分後には反映されてました。
反映されているかどうかのチェックには、以下のサイトが使えます。
Gmail、Yahooメール、Docomo、outlook……可能な限り自分で受信を確認できるアドレスへメールを送ってみました。とりあえず確認したものは全て「Received-SPF: pass」となっていたのでやっと一安心です。あとはEzwebとか、Hotmailくらいでしょうか。うう、めんどくせえからもういいか。
ここまでやっても、受信側の設定次第ではあっさり迷惑メール行きとなってしまう可能性もあるので結局のところ注意は必要かもしれません。例えばGmailだと、多くのユーザがスパム判定したメールを学習して、以降はスパム扱いするアルゴリズムなんてのもあるそうです。
つまり、WordPressのECプラグイン「Welcart」などを使って元から用意されている定型文のメールを送っていると、すでに先人達がFPSレコード未設定のままメールを送りまくったおかげで似た文章として迷惑メール判定をされるなんてことになりかねないわけです。怖い話ですよほんと。
全ては悪意あるスパムをバラ撒いている連中が悪いんですけどね。絶滅して欲しいなあ。