web-dev-qa-db-ja.com

クライアントのIPに基づいてGmail SPFが失敗する

GmailはクライアントIPに基づくSPFチェックに失敗しています。これらは関連するヘッダーです:

Received-SPF: fail (google.com: domain of [email protected] does not designate 164.77.240.58 as permitted sender) client-ip=164.77.240.58;
Received: from johndoe (unknown [164.77.240.58])
    by mail.example.com (Postfix) with ESMTP id 993643FE2D

クライアントIP(164.77.240.58)は、johndoeのコンピューターのIPです。送信者IP、mail.example.comのIPは、SPFレコードに含まれています。

送信者IPではなくクライアントIPに基づいてGmailが失敗するのはなぜですか?これはSPFの動作方法ですか?

8
Max Toro

まず、example.comのspfレコードを取得します。

$ Dig -t spf mail.example.com

Example.comが送信者リストにあることを確認します。 spfレコードは次のようになります。

"v=spf1 a:mail.example.com a:cname.example.com -all"

リストされているドメイン名を取得し、それらのDNSルックアップを実行してIPアドレスを取得します。

$ Dig mail.example.com

次に、PTRルックアップを実行して、IPの逆DNS名を取得します。

$ Dig -x XX.XX.XX.XX

逆IPルックアップは、spfレコードにリストされているレコードの1つと一致する必要があります。何が起こっているのかを確認できるように、spfレコードから始めると役立ちます。

4
Pete

はい、GoogleはSPFの障害を特定するのに適切です。チェックする必要があるIPアドレスは、Googleのメールサーバーに接続しているアドレスです。 Googleの受信ヘッダーがないため、メールサーバーが接続のSPFをチェックしていると思われます。インターネットからの認証されていない接続についてのみSPFをチェックする必要があります。ローカル接続と認証済み接続は、SPF検証をバイパスする必要があります。

SPFは、送信側コンピューターが送信側ドメインによって許可されていることを確認するためのものです。通常、ドメインには1つまたは2つのメールサーバーがあり、インターネットとの間で送受信されるすべての電子メールを処理します。これらのアドレスは、ドメインのSPFレコードにリストされているアドレスである必要があります。

この場合、johndoeはドメインのメールサーバーに接続しているようです。サーバーがドメインのネットワーク上にない場合、送信ポート(587)で認証された接続を使用するのが一般的です。メールサーバーはメッセージをgmailに転送し、SPFは通過するはずです。それでもSPFが失敗する場合は、SPFレコードを修正して、メールサーバーのIPを含める必要があります。使用できるメカニズムはいくつかあります。

私の メールポリシー 私のドメインから送信されたすべての正当なメールが確実にSPFを通過するようにします。ユーザーに代わってメッセージを転送するサービスがいくつかあり、SPFに失敗します。ただし、DMARCを検証するサーバーから受け取った記録された失敗はすべてスパマーでした。

2
BillThor