「550 SPF Check Failed」の修正方法 - [解決済み]
SPFのエラーの背後で起きていることを知る
2025年1月15日
著者: 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レコードは、「550 SPF check failed」エラーの一般的な原因です。
- メールリレーや転送メッセージは、メールヘッダー情報の変更によりSPFの失敗を引き起こす可能性があります。
- RFCで指定されたDNSルックアップの上限(10回)を超えると、SPFエラーや失敗の原因となります。
- DNS内のSPFレコードを更新し、正しく構成することが、「550 SPF check failed」エラーを解決するために不可欠です。
「550 SPF Check Failed」エラーとは?
「550 SPF Check Failed」エラーは、主に誤った設定のメールサーバが原因で発生します。
このエラーは、DNSレコードを修正するか、SPF用のTXTレコードをDNS設定に追加することで修正できます。
このエラーは、メールサーバが送信者のドメイン名をSender Policy Framework(SPF)を使用して検証しようとした際に失敗した場合に発生することがあります。
このエラーを受信した場合、受信者のサーバがメール送信者の身元を検証できなかったことを意味します。
「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レコードに記載されていないと、エラーの原因となります。
特にメールの転送時、メッセージが中間サーバを通過すると、メールヘッダー情報が変更され、リターンパスアドレスが中間サーバのドメインを指すようになります。
そのため、受信者のサーバがこの外部リレーを正当な送信元と認識できず、「550 SPF Check Failed」エラーが発生することがあります。 - 5. 偽装された送信元(From)アドレス
-
偽装された送信元(From)アドレスは、メールが正当な送信元から送信されているように見せかけるために使用されますが、実際には第三者によって送信されています。
これには、メールヘッダーの偽造や、正規のドメインを悪意を持って使用するなど、さまざまな方法があります。
この問題の厄介な点は、偽装されたFromアドレスを使用したメールは、リターンパスのドメインとFromアドレスのドメインが一致しないため、SPFチェックを通過できないことです。
(ドメインの不一致)
その結果、SPFの失敗が検出され、エラーメッセージが返される可能性があります。 - 6. DNSルックアップの回数超過
-
最後に、「550 SPF Check Failed」エラーのもう1つの原因として、RFCで指定されたDNSルックアップの上限(10回)を超過することが挙げられます。
これは、SPFレコードの書式が誤っている場合に発生しやすく、「SPF Permerror」という件名とともにハードフェイル(hard fail)のエラーが表示されることがあります。
「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アドレスをSPFレコードに含める
外部サービスを利用する場合、それらの送信元IPアドレスをSPFレコードに含めることを忘れないようにしましょう。
SPFの管理をサードパーティに委託するか、送信元リストを手動で管理・更新することで、外部ツールやサービスの導入時に適切な設定ができるようにしておく必要があります。
また、ドメインのレコードは定期的に更新する必要があります。
メールサービスプロバイダー(ESP)ごとに、SPFレコードの設定ガイドラインが定められています。
たとえば、Office 365を使用している場合は、MicrosoftのSPFレコードガイドを参照し、適切な設定を実施してください。
さらに、SPFレコードには、社内のIPアドレスだけでなく、転送先のIPアドレスも含めることが重要です。
SPFについて
SPF(Sender Policy Framework)は、メール認証と送信者の身元確認の基盤となるプロトコルです。
SPFレコードは送信者のドメインのDNSゾーンファイルに保存されており、組織を代表してメールを送信することが許可されたIPアドレスやドメイン名の情報を提供します。
ドメインからメールを送信すると、受信サーバはドメインのSPFレコードをチェックし、メールのリターンパスアドレスにあるドメインがSPFレコードに記載されているかを検証します。
該当するレコードが見つからない場合、そのメールはSPF認証に失敗します。
安全なメールユーザーの最大のコミュニティの一員となるために、今すぐPowerDMARCを利用しましょう!