550 SPF Check Failed を修正する方法 [解決済]
殆どの場合、送信側に原因がある
2025年1月7日
著者: Yunes Tarada
翻訳: 竹洞 陽一郎
この記事はPowerDMARCのブログ記事 How to fix 550 SPF Check Failed? [SOLVED] の翻訳です。
Spelldataは、PowerDMARCの日本代理店です。
この記事は、PowerDMARCの許可を得て、翻訳しています。
「550 SPF check failed」というメッセージは、送信者のDNSにSPFレコードが存在しない場合、不正なSPFレコードが存在する場合、またはサードパーティのスパムフィルタによってトリガーされる一般的なエラープロンプトです。
このタイプのエラーの重要なポイントは、通常、受信者側の問題ではなく、送信者側の問題であることが多いという点です。
また、この問題は数ステップで簡単に解決できます。
重要なポイント
- 「550 SPF check failed」エラーは、受信者のサーバがSPFを使用して送信者のドメインを検証できなかった場合に発生します。
- 一般的な原因として、SPFレコードの欠落、不正確または不完全なSPFレコードが挙げられます。
- メールリレーや転送されたメッセージは、しばしばSPF失敗を引き起こします。
- DNSの10回のルックアップ制限を超えると、SPFエラーが発生する可能性があります。
- 偽装された送信者アドレスにより、ドメインの不整合やエラーが発生することがあります。
- このエラーは、DNS内のSPFレコードを更新し、正しく設定することで修正できます。
SPFについて
SPFは「Sender Policy Framework」の略で、メール認証と送信者の身元確認の基本要素となるプロトコルです。
ドメインのSPFレコードは、送信者のDNSゾーンファイル内に存在し、組織を代表してメールを送信することが許可されているIPアドレスまたはドメイン名に関する情報を提供します。
自分のドメインからメールを送信する際、受信サーバはそのメールのEnvelope Fromアドレスに含まれるドメイン名がSPFレコードにリストされているかどうかを確認します。
一致が見つからない場合、そのメールはSPF認証に失敗します。
「550 SPF Check Failed」エラーとは?
「550 SPF Check Failed」エラーは、主に誤った設定がされたメールサーバによって引き起こされます。
このエラーは、DNSレコードを修正するか、DNS設定にSPF用のTXTレコードを追加することで解決できます。
このエラーは、メールサーバがSPF(Sender Policy Framework)を使用して送信者のドメイン名を検証しようとした際に失敗する場合に発生します。
この種のエラーが発生している場合、受信者のサーバがメール送信者の身元を確認できなかったことを意味します。
「550 SPF Check Failed」エラーの主な原因
「550 SPF Check Failed」エラーが発生する理由はいくつかあります。
- 1. 無効なSPFレコード
-
最も一般的な理由は、送信者のSPFレコードが無効であることです。
SPFを機能させるためには、TXT形式のレコードをドメインのDNSゾーンファイルに追加する必要がありますが、これが追加されていない、または必要なフィールドが欠けている可能性があります。
これを解決するには、オンラインでドメインのSPFレコードを確認し、有効なレコードが存在するか確認することが重要です。 - 2. Microsoftのスパムフィルタ
-
Microsoftのスパム対策ツールであるSophosは、ハッカーやマルウェアから保護するための無料サービスです。
Sophosは、コンピュータ上でバックグラウンドで動作し、迷惑メールや悪意のあるソフトウェアをブロックします。
しかし、Microsoft Office 365 Exchange Onlineを通じてメールを送信する場合、Sophosを使用しているとSPFチェックが失敗し、「SMTP; 550 5.7.1 550 Message rejected because SPF check failed」というエラーメッセージが表示されることがあります。 - 3. 不完全なSPFレコード
-
理想的には、SPFレコードにはドメインに代わってメールを送信することが許可された全てのサーバが含まれているべきです。
しかし、ドメイン所有者が正当なサードパーティ送信元を指定し忘れることがあり、これが550エラーの原因となることがあります。 - 4. 複数の中継サーバを経由したメッセージ
-
メールが外部リレーを経由して送信される場合、送信者のSPFレコードにリストされていない中継サーバが含まれるため、エラーが発生する可能性があります。
特にメール転送時には、メールのヘッダー情報が変更され、Envelope Fromアドレスが中継サーバのドメインを指すようになるため、受信者のサーバが正当な送信元と認識しない場合があります。 - 5. 偽装された送信元アドレス
-
偽装された送信元アドレスは、正当な送信者からのメールに見せかけるために使用されますが、実際には別の誰かによって送信されています。
このようなメールは、リターンパスのドメインが送信元のドメインと一致しないため、SPFチェックに失敗します。
検出されたスプーフィング攻撃がエラーを引き起こし、SPFの失敗につながる可能性があります。 - 6. 複数回のルックアップ
-
最後に、「550 SPF Check Failed」エラーの別の原因として、RFCで規定されたDNSルックアップの10回制限を超えることがあります。
これは、誤ったSPFレコード形式により、「SPF Permerror」という件名でハードフェイルエラーが発生する場合によく見られます。
「550 SPF Check Failed」エラーのトラブルシューティング
このエラーが発生した場合、その問題は通常、受信者ではなく送信者によって引き起こされています。
以下の手順に従ってトラブルシューティングを行うことができます。
1. SPFレコードのエラーを修正する
送信者は、自身のドメインのSPFレコード内のエラーを見つけて修正することで、「550 SPF Check Failed」エラーをトラブルシューティングできます。
SPFレコードは、ドメイン名を正しく検証するために必要なものであり、些細なスペルミスやフォーマットの問題でも受信サーバがドメインを検証する際の妨げになる可能性があります。
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マネージャやcPanelでMXレコードを編集することで修正できます。
3. ベンダーのIPを含める
ベンダーのIPを含めることを見落とさないようにするために、SPF管理をサードパーティに委託するか、送信元を手動でリスト化して管理・更新することをお勧めします。
外部ツールやサービスを使用するたびに、ドメインのレコードを修正する必要があります。
これらの更新に応じて、ドメインのレコードを修正する必要があります。
送信元を適切に調整するための具体的なガイドラインがメールサービスプロバイダーによって定められています。
たとえば、Exchange Onlineサーバを使用してメッセージを送信する場合、Office 365のSPFレコードガイドには、これらの仕様を実装するための指針が記載されています。
今日からPowerDMARCに参加し、安全なメールユーザの最大コミュニティの一員になりましょう!