最近、サーバースタックを新しいデータファームに移動しました。一部のクライアントでは、GAppsアカウントから送信されるメールで問題が発生しています。サーバーを移動する前は問題はありませんでしたが、IPの変更などが関係しているのではないかと思います。
一部のドメインのSPFヘッダーが正しくなく、GoogleSPFレコードが含まれていないことが問題であることがわかりました。
以下のすべてのドメインにTXTレコードを追加しましたv=spf1 include:_spf.google.com ~all
これで配信可能性の問題は解決しましたが、DNSテンプレートのすべてのTXTレコードに問題がないかどうかを知るには、SPFを十分に理解していません。
ドメインがメールの送信にGoogleAppsを使用している場合、そのドメインのローカルメールルーティングを無効にして、内部メールが通過しないようにし、GAppsMX以外のすべてのレコードを削除します。
現在、各ドメインで以下が設定されています。
domain.com. TXT v=spf1 +a +mx -all
domain.com. TXT v=spf1 include:_spf.google.com ~all
mail.domain.com. TXT v=spf1 ip4:xxx.xxx.xxx.xxx a mx a:mail.domain.com mx:domain.com ?all
だから私の質問は:
サーバーに追加されるすべてのドメインのグローバルとして、上記のレコードは正常ですか(一部のSPFテストはポジティブに戻り、他はネガティブになります)?
上記の2つのdomain.comDNSレコードを1つに連結できますか?
Google Apps経由で送信していないドメインのSPFレコードをGoogleに含めても大丈夫ですか?
Google Appsを使用している場合、他のTXTレコードを削除する必要がありますか。メールが発信されていないため、mail.domain.comレコードを削除する必要があるとは思いません。そこからですが、存在する場合は問題が発生する可能性があります。
1つのサーバースタックで100以上のドメインが実行されており、それらすべてを更新するのは楽しいことではありませんが、正しく実行したいと思います。
前もって感謝します。
ホスト名にはSPFレコードが1つしかないため、2つを1つに組み合わせる必要があります。 SPFは基本的に、メカニズム(何かに一致する)とそのメカニズムに対して実行するアクションのリストです。これらのメカニズムは、SPFレコードに必要な数だけ含めることができます。 domain.com
の場合、これが必要です。
domain.com. IN TXT "v=spf1 include:_spf.google.com +a +mx -all"
これは、以下がチェックされることを意味します(最初のマッチングメカニズムが結果になります)。
_spf.google.com
でSPFレコードを取得し、評価します(include:
)。 GoogleのSPFレコードは次のようになります。
_spf.google.com descriptive text "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"
SMTPクライアントのIPがそれらのIPv4サブネット内にあるかどうかを受け入れます(ipv4:
)
SMTPクライアントのIPがドメインのAレコードであるかどうかを受け入れます(+a
)
+mx
)-all
)mail.domain.com
のSPFレコードは、おそらく次のように簡略化できます。
mail.domain.com. IN TXT "v=spf1 ip4:xxx.xxx.xxx.xxx a mx:domain.com ?all"
mail.domain.com
自体にMXレコードがないと仮定します。 MXレコードがある場合は、mx
用語を(all
の前に)追加し直します。
なぜ3つの異なるSPFレコードがあるのですか?また、なぜmail.domain.com
の個別のレコードがあるのですか、そのドメイン名のメールを受け入れますか?基本的に、単一のdomain.com TXT v=spf1 include:_spf.google.com +a +mx ~all
で十分です。