web-dev-qa-db-ja.com

エラー:SPFレコードは正しい形式である必要があります

SPFレコードの設定についてサポートが必要です。このようにSPFレコードを作成したとき:

v=spf1 a mx include:_spf.google.com include:getresponse.com ~all

これをテストのために実行すると、次のようになります。

https://toolbox.googleapps.com/apps/checkmx/check?domain=workwithchrisonline.com&dkim_selector=

明らかにそれは私にエラーを与えます:SPFレコードは正しいフォーマットでなければなりません。

私もこれを試しました:

"v=spf1 +a +mx +ip4:104.xxx.xxx.xxx +include:_spf.google.com +include:getresponse.com ~all"

なぜエラーが発生するのかわかりません。これを解決する方法を教えてくれることはありますか?

1
Robert Jones

簡単な答え:SPFレコードのDNSルックアップが多すぎます。 getresponse.comをSPFレコードにインクルードしましたが、SPFレコードには独自のインクルードレコードがあり、追加のルックアップが必要です。

SPF RFC による

SPF実装は、DNSルックアップを実行するメカニズムと修飾子の数をSPFチェックごとに最大10に制限する必要があります。これには、「include」メカニズムまたは「redirect」修飾子の使用によって引き起こされるルックアップも含まれます。

次のURLを使用して、DNSを更新する前にSPFレコードをテスト/検証できます。 https://www.kitterman.com/spf/validate.html

https://emailstuff.org/spf/check でドメイン名を入力すると、SPFレコードで発生しているDNSルックアップの数を確認できます。あなたの場合、SPFレコードは明らかに10より大きい13のDNSルックアップを引き起こしています。

Getresponse.comが必要ない場合は、削除することをお勧めします。

v=spf1 a mx include:_spf.google.com -all

また、〜、-、+、および?の違いを読むことをお勧めします。 SPFレコードで。適切な説明については、 openspf.org を参照してください。 SPFを検証したら、〜allを-allに変更して、SPFルールを厳密に適用します。 〜allを使用しても、他のサーバーはドメインを使用してメールを送信できます。

3
Tim Liston