42

私のウェブサイトは、Google Apps、SendGrid、および MailChimp サービスを使用してメールを送信する必要があります。Google Apps を使用して、ドメインへの受信メールを受信して​​読んでいます。

ドメインの SPF レコードを設定する必要があります。以下は構文的に正しいです (A および MX トークンについてはわかりません)。

"v=spf1 a mx include: _spf.google.com include: servers.mcsv.net include: sendgrid.net ~all"

しかし、http://www.kitterman.com/getspf2.pyでテストすると、

PermError SPF Permanent Error: DNS ルックアップが多すぎます

http://www.onlineaspect.com/2009/03/20/too-many-dns-lookups-in-an-spf-record/と同様の問題

SPF レコードを最適化/書き換えるにはどうすればよいですか?

4

7 に答える 7

72

というわけで、これまでやったことはありませんでしたが、あなたが送ってくれた記事に基づいて、これが私が思いついたものです。

私たちは以下から始めました:

v=spf1 a mx include:_spf.google.com include:servers.mcsv.net include:sendgrid.net ~all

Too many DNS lookupsエラーをスローする前に、合計 10 回のルックアップを取得します。

  2 (Initial TXT & SPF Lookups)
  2 (a & mx Lookups)
  1 (_spf.google.com)
  1 (servers.mcsv.net)
 +1 (sendgrid.net)
 -----------------
  7 Lookups

したがって、含まれている SPF レコードをたどることさえしなくても、7 つのルックアップがあります。


では、レベルをさらに深く掘り下げてみましょう。

1. _spf.google.com

Google SPF レコードは次のように評価されます。

v=spf1 include:_netblocks.google.com include:_netblocks6.google.com ?all

それぞれが次の値に解決されます。

# _netblocks.google.com
v=spf1 ip4:216.239.32.0/19 ip4:64.233.160.0/19 ip4:66.249.80.0/20 ip4:72.14.192.0/18 ip4:209.85.128.0/17 ip4:66.102.0.0/20 ip4:74.125.0.0/16 ip4:64.18.0.0/20 ip4:207.126.144.0/20 ip4:173.194.0.0/16 ?all

# _netblocks6.google.com
v=spf1 ip6:2607:f8b0:4000::/36 ip6:2a00:1450:4000::/36 ?all

したがって、Google はさらに 2 つのルックアップを提供し、合計で9 つのルックアップになります。

2.servers.mcsv.net

Mailchimp は、3 つの余分なルックアップをすべて追加するため、少し厄介です。

v=spf1 include:spf1.mcsv.net include:spf2.mcsv.net include:spf.mandrillapp.com ?all

Mailchimp を介して送信する内容によっては、これらのレコードの 1 つまたは 2 つを削除できる可能性があると思います (ただし、それは自分で評価する必要があります)。

とにかく、それらは次のように解決されます。

# spf1.mcsv.net
v=spf1 ip4:207.97.237.194/31 ip4:207.97.238.88/29 ip4:207.97.240.168/29 ip4:69.20.10.80/29 ip4:69.20.41.72/27 ip4:74.205.22.1/27 ip4:69.20.90.0/26 ?all

# spf2.mcsv.net
v=spf1 ip4:204.232.163.0/24 ip4:72.26.195.64/27 ip4:74.63.47.96/27 ip4:173.231.138.192/27 ip4:173.231.139.0/24 ip4:173.231.176.0/20 ip4:205.201.128.0/24 ?all

# spf.mandrillapp.com
v=spf1 ip4:205.201.136.0/24 ip4:205.201.137.0/24 ?all

これにより、合計12 のルックアップになります(これは既に制限を 2 つ超えています)。

2.sendgrid.net

SendGrid は、追加のルックアップの数が最も少ないことになります。

v=spf1 ip4:208.115.214.0/24 ip4:74.63.202.0/24 ip4:75.126.200.128/27 ip4:75.126.253.0/24 ip4:67.228.50.32/27 ip4:174.36.80.208/28 ip4:174.36.92.96/27 ip4:69.162.98.0/24 ip4:74.63.194.0/24 ip4:74.63.234.0/24 ip4:74.63.235.0/24 include:sendgrid.biz ~all

したがって、ここでの唯一の追加のルックアップはsendgrid.bizであり、次のように評価されます。

v=spf1 ip4:208.115.235.0/24 ip4:74.63.231.0/24 ip4:74.63.247.0/24 ip4:74.63.236.0/24 ip4:208.115.239.0/24 ip4:173.193.132.0/24 ip4:173.193.133.0/24 ip4:208.117.48.0/20 ip4:50.31.32.0/19 ip4:198.37.144.0/20 ~all

これにより、合計で最大 14 回のルックアップが可能になります。


したがって、総計は14 の Lookupsです。これを 10 まで下げる必要があります。以下にいくつかのオプションを概説しましたが、下げるには複数のオプションを使用する必要がある場合があります。

  1. リダイレクトされた spf レコードの一部を直接含めます。spf レコードがどのサーバーにリダイレクトするかがわかったので、仲介者を切り取って直接含めることができます。 注: いずれかのサービスで SPF レコードが変更された場合は、手動で更新するプロセスを実行する必要があります。

  2. 使用しているサービスの一部を削除します。これらすべてのサービスを使用するためのユースケースが何であるかはわかりませんが、使用できる可能性のあるオーバーラップがあることは間違いありません. たとえば、SendGrid は (1) トランザクション送信メール、(2) ニュースレター/マーケティング メール、(3) 受信メールをサポートしています。そのため、削減可能な冗長性が存在する可能性があります。

  3. 冗長な MX レコードを削除します。設定によっては、MX ルックアップが冗長になる場合があります。

お役に立てれば!

于 2013-01-10T16:37:02.047 に答える
0

SPF レコードを IP にフラット化し、サブドメインを作成することを検討しました。それらはすべて大変な作業のように見えました。spfproxy.org から、セットアップに文字通り数分かかるサービスを見つけました。基本的に、SPF マクロを使用して背後の DNS ルックアップをマスクします。多くの企業がこれを提供しない理由がわかりません。

于 2016-08-04T06:06:23.857 に答える
0

数年前、私はhydrate-spfを作成しました。これは、検索結果を 1 つの巨大なレコードに含めてマージするツールです。README に記載されているように、このアプローチは理想的ではありません。含まれているドメインがレコードを更新できなくなります。ただし、許可された制限に達している場合は、差し迫った問題を解決し、定期的な更新によりある程度保守可能に保つことができます.

于 2016-08-12T00:21:26.837 に答える