独自ドメインと、さくらのメールボックスと、Gmailと、SPF。
最近、出現頻度が高まって来た感じがする、Gmailのメール本文に表示される黄色いバナー。「もしかすると迷惑メールのたぐいかもしれない」ことを知らせてくれる、ありがたい機能です。
けれども、頻度が多すぎるし、有名企業の正規アドレスから送られてきたメールでも表示される始末。何かがおかしいのは間違いなさそうです。
で、調べてみると、メールの送信ドメインを認証するSPF(Sender Policy Framework)が原因である様子。SPF認証に失敗すると、Gmailはこれを怪しいメールであると判断し、黄色いバナーを表示する仕組みになっているようです。
当方が所有している独自ドメインではDNSでSPFレコードを掲示しており、正常に動作しているのは確認済みです。なので、何かあるとすれば受信側。
けれども、SPFに関しては、サーバ側で自動的に処理され、受信側で何かを設定する必要はありません。さて、問題はどこにあるのか...。
原因究明と解決策の前に、当方のメール環境を書き出しておきます。独自ドメインのメールサーバとしてさくらのメールボックスを使っており、実際のメール操作はGmailで行っております。
説明の関係で具体的な名称を記載しましたが、原理的にはどこのサービスにでも応用できるハズ。上記サービスに該当しない場合でも、読み物的に最後までお付き合い頂けますれば。
メール転送と相性が悪いSPF
SPF認証が失敗する、その原因はメール転送でした。ここでいうメール転送は、レンタルサーバの多くが標準的に備える、受信メールを別のメールアドレスへ自動転送する機能のこと。
当方の環境では、さくらのメールボックスをメールサーバとして使用しており、ここに届いたメールは、フロントエンドとなるGmailに転送されるよう設定していました。
SPFでは、最後にメールをリレーしたサーバが、送信元のSPFレコードを参照し、そこに記載された情報とIPアドレスを突き合わせて合否を判断します。
当方の場合、Gmailへの転送によりIPアドレスが変化したことで、SPFレコードの情報と一致しなくなり、それで認証に失敗していたようです。
そこで注目したのが、サーバ上のメールをダウンロードする際に使用されるPOP3というプロトコル。主にメールクライアントで使用される機能であり、SPFの判定には影響が出ない...ハズです。
なお、Gmailで他のメールサーバからPOP3でメールをダウンロードする具体的な方法に関しては、以下のリンクをご参照ください。
他のアカウントのメールを確認する by Google
さくらのメールボックスに入ったメールを、POP3でGmailに持ってくる。これで、SPF認証をクリアできるハズ...でしたが...。
意外な伏兵が!
「これでどうだッ」的ドヤ顔でメールの送受信でテストをしてみたのですが、どうにもうまくいきません。やはりSPF認証に失敗してしまいます。
まだ、どこかに問題が残っているようです。ということで、SPF認証に失敗したメールのヘッダーを詳細にチェックしてみることに。
すると、"fsav***.sakura.ne.jp"なる見慣れないアドレスを発見しました。状況により***の部分に入る数字は変わりますが、どうやらこれがSPF認証の妨げになっている様子。
さらに調べてみるとこのアドレス、さくらのメールボックスを始めとする同社のレンタルサーバに標準で装備されているウィルスチェック機能であることが判明しました。
受け取ったメールを"fsav***.sakura.ne.jp"に転送することで、ウィルスチェックを実施する。という動作をしており、この意図しない転送によりIPアドレスが変わってしまった訳です。
設定もお手軽で「無いよりはあったほうが良いかも」と、軽い気持ちでONにしたのでした。それが仇となるとは。第二の原因が判明したので、サクッとウィルスチェックをOFFにします。
具体的な方法は以下のリンクをご参照ください。説明はONにする操作なので、その反対を実行します。
ウィルスチェック機能を設定したい by さくらインターネット
この機能をOFFにしたとしても、さほど問題ではありません。Gmailにもウィルスチェック機能があり、POP3の実行時にスキャンされるので心配は無用です。
問題はクリアされたので、今度は大丈夫でしょう。設定変更の直後というナイスなタイミングで送られてきたAmazonのメールでチェックしてみます。
SPF認証は"PASS"したけど...
こちらは、Gmailの画面の右上にある、点が3つ縦並びになったアイコンから"メッセージのソースを表示"で開いたウィンドウのスクリーンショット(抜粋)です。
めでたくSPF認証は"PASS"したのですが、チェックの対象となったIPアドレスが表示されるハズの部分が"0.0.0.0"になってしまいました。その後に送られてきた、他のメールでもまったく同じ状況。
SPF自体は正しく機能しており、SPFレコードが正しく設定されたメールでは"PASS"に、迷惑メールのようにいい加減なメールではちゃんと"SOFTFAIL"や"FAIL"になります。
確認のため、さくらのメールボックスにて転送設定をONにしてみると、IPアドレスは正しく表示されます。が、IPアドレスが変わってしまうため、SPF認証で引っ掛かります。
すなわち、POP3を使うとSPFは正常に動くけどIPアドレスの表示が変になり、転送を使うとSPF認証は失敗するけどIPアドレスは正しく表示される、ということ。
重要なのはSPF認証をクリアすることであり、選択の余地はありません。POP3の一択。それに、IPアドレスが表示されないだけで機能的には問題なく、メールのヘッダーにもおかしな部分は見当たりません。
そんな雰囲気なので、「とりあえず放置でもいいか」と思っております。とはいいつつ気になるのは確かなので、一週間のお試し期間があるレンタルメールサーバ"XREA Mail & Backup"でも試してみました。
結果はやはり"0.0.0.0"。どうやらGmailのPOP3に原因があるようです。それがわかったところでどうしようもない訳ですが、とりあえずこのまま運用してみたいと思います。
コメント
SPF判定の結果を表示していること自体がバグなのでは?
なので、「GmailのPOP3にはセキュリティを担保する何らかの仕組みがあるのかなぁ?」程度に考えておりました。
もし、この辺に興味があるようでしたらば、"Contact"からご一報くだされ。研究用としてヘッダー込みのメールをまるっとお送りしますので。