MailData

550 SPF Check Failed の修正方法は?

550 SPF Check Failed の修正方法は?

2022年10月24日
著者: Ahona Rudra
翻訳: 高峯 涼夏

この記事はPowerDMARCのブログ記事 How to fix 550 SPF Check Failed? [SOLVED] の翻訳です。
Spelldataは、PowerDMARCの日本代理店です。
この記事は、PowerDMARCの許可を得て、翻訳しています。


「550 SPF Check Failed」というメッセージは、送信者のDNSにSPFレコードがなかったり、無効なレコードである場合や、サードパーティのスパムフィルタによって引き起こされる可能性がある一般的なエラープロンプトです。
このタイプのエラーにおける重要なポイントは、通常は送信者の責任であり受信者の責任ではないこと、そして、いくつかの簡単な手順で解決できることです。

SPFについて

SPFは、Sender Policy Frameworkの頭文字をとったもので、メールの認証と送信者の身元を検証する基本要素となるプロトコルです。
ドメインのSPFレコードは、送信者のDNSゾーンファイルに存在し、組織に代わってメールを送信することを許可されたIPアドレスまたはドメイン名についての情報を提供します。

ドメインからメールを送信すると、メール受信サーバはドメインのSPFレコードをチェックし、メールのReturn-Pathアドレスにあるドメイン名がそこに記載されているかどうかを確認します。
一致するものが見つからない場合、そのメールはSPF認証に失敗します。

「550 SPF Check Failed」エラーとは?

「550 SPF Check Failed」エラーは、主にメールサーバの設定ミスが原因で発生します。
このエラーは、DNSレコードを修正するか、SPFのDNS設定にTXTレコードを追加することで修正できます。

メールサーバがSender Policy Frameworkを使用して送信者のドメイン名を確認しようとして、失敗した場合に発生することがあります。
このタイプのエラーが発生した場合、受信者のサーバがメール送信者の身元を確認できなかったことを意味します。

「550 SPF Check Failed」エラーの原因として考えられること

「550 SPF Check Failed」エラーが発生する原因はいくつかあります。

1.無効なSPFレコード

最も一般的な原因は、送信者のSPFレコードが有効でないことです。
SPFを機能させるには、ドメインのDNSゾーンファイルにTXTタイプのレコードを追加する必要がありますが、それが追加されていなかったり、一部のフィールドが欠けていたりする可能性があります。
これを回避するには、ドメインのSPFレコードをオンラインで調べ、有効なレコードの有無を確認し、この可能性を排除する必要があります。

2.マイクロソフトのスパムフィルタ

Microsoftのスパム対策ツール「Sophos」は、オンラインハッカーやマルウェアの感染から身を守る簡単な方法です。
Sophosは、お使いのコンピュータのバックグラウンドで動作し、破損したコードやスパムメールが受信トレイに届く前にスキャンする無料のサービスです。
また、悪意のあるソフトウェアがシステムにダウンロードされるのを防ぐこともできます。

ただし、Microsoft Office 365 Exchangeオンラインでメッセージを中継する場合、システムにSophosを導入していると、メールのSPFに失敗することがあります。
この場合「SMTP; 550 5.7.1 550 Message rejected because SPF check failed」というエラーメッセージが返されます。

3.不完全なSPFレコード

理想的には、SPFレコードには、ドメインに代わってメールを送信することを許可された正規のサーバの完全なリストが含まれている必要があります。
しかし、多くの場合、ドメインの所有者は正当なサードパーティの送信元を指定するのを失念しています。
これが550エラーの引き金になることがあります。

4.一人または複数の仲介者を介して中継されるメッセージ

メールサーバと最終的な送信先の間に複数のホップがある場合(外部リレーを経由して送信する場合など)、それらがドメインのSPFレコードに記載されないため、エラーの原因となる可能性があります。
これは、メール転送の際に中間サーバを経由すると、メールヘッダ情報が転送中に変更され、Return-Pathアドレスが中間サーバのドメインを指すようになるためです。
受信者のサーバは、この外部リレーを正当な送信者として認識しないため「550 SPF Check Failed」を返される可能性があります。

5.なりすましメールの「From」アドレス

なりすましメールのFromアドレスは、メールが正当な送信元から送られているように装いますが、実際には他の誰かによって送信されています。
これは、ヘッダやメッセージを偽造したり、悪意のある目的のために正規のドメインを直接使用するなど、さまざまな方法によって行われます。

Fromアドレスを使用したなりすましメールは、Return-PathのドメインがメールのFromと一致しない(ドメインの不一致)ため、SPFチェックを通過しないことが問題です。
検出されたなりすまし攻撃は、同様のエラーレスポンスを引き起こし、SPF失敗の原因となる可能性があります。

6.複数回のlookup

最後に、「550 SPF check failed」エラーのもう一つの原因として考えられるのは、RFCで規定されたDNS lookupの制限である10を超えたことです。
これは、SPFレコードのフォーマットに誤りがあり、通常「SPF Permerror」という件名で表示されるhard fail errorが返された結果である可能性があります。

550 SPF Check Failed Errorのトラブルシューティング

このエラーの被害者である場合、問題は通常、受信者ではなく、メールの送信者によって引き起こされることに注意してください。
以下の手順でトラブルシューティングを行うことができます。

1.SPFレコードエラーの修正

メール送信者は、ドメインのSPFレコードのエラーを発見して修正することで、550 SPF Check Failedエラーのトラブルシューティングを行うことができます。
これらのレコードは、ドメイン名を適切に検証するためのものです。
そのため、わずかなスペルミスやフォーマットの問題でも、受信サーバがドメインを検証するのを妨げる可能性があります。

SPFレコードで発生しうる最も一般的なエラーの種類は以下の通りです。

有効なSPFレコードの例としては、以下のようなものがあります。

v=spf1 include:spf-sender.example.com ~all

または、

v=spf1 a mx ip4:143.129.0.2/11 include:example1.com include:example2.net ~all

2.MXは正しいサーバを指す必要がある

送信者がメールを送信すると、そのメールは送信者のコンピュータからメールサーバ(SMTPサーバとも呼ばれる)に転送されます。
メールサーバは、送信者のIPアドレスやメールヘッダ内の他の情報など、いくつかの要因に基づいてメールを受け入れまたは拒否します。
SMTPサーバが無効なMXレコードを持つメールを受信した場合、転送中に何か問題が発生したことを示すために、550 SPF Check Failedエラーメッセージを返します。

この問題を解決するには、MXレコードが正しいサーバを指していることを確認する必要があります。
DNS ManagerまたはcPanelでドメインのMXレコードを編集することによって対応できます。

3.ベンダーのIPを含める

ベンダーのIPを取りこぼさないようにするには、サードパーティを通じてSPF管理を外部委託するか、メールに外部ツールやサービスを導入するたびに、送信元リストを手動で維持・更新しておくとよいでしょう。

これらの更新に応じて、ドメインのレコードを変更する必要があります。
送信元を調整するために、メールサービスプロバイダが定めた特定のガイドラインがあります。
例えば、メッセージの送信にExchange Onlineサーバを使用している場合、Office 365 SPF レコードガイドでは、これらの仕様を実装するための概要が説明されています。

また、SPFレコードには、内部IPアドレスと転送元のIPアドレスの両方が含まれていることが重要です。

今すぐPowerDMARCの無料トライアルをご検討ください。