web-dev-qa-db-ja.com

あるローカルボックスから別のローカルボックスにSMTP経由で送信されたときに、サーバーのメッセージではなくクライアントIPが原因で、Gmailにインポートされた電子メールのSPFが失敗しました

SPFが設定されたドメイン(たとえば、MX mail.example.comを持つexample.com)を持つLinux(Debian)VPSがあります。 dovecot + eximが実行されています。その上に直接管理者もいます。

私が外国のサーバーにメールを送るとき、それからすべては大丈夫です。メッセージにサーバーIPがあり、SPFチェックは正常に行われます。

一部のデータが変更されました(ドメインなど):

Received: from mail.example.com (mail.example.com. [188.40.153.39])
    by mx.google.com with ESMTPS id ***.7.2015.02.18.04.09.46
    for <*@gmail.com>
    (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
    Wed, 18 Feb 2015 04:09:47 -0800 (PST)
Received-SPF: pass (google.com: domain of [email protected] designates 188.40.153.39 as permitted sender) client-ip=188.40.153.39;

しかし、ローカルメールボックスから別のローカルメールボックスに送信し、POP3を介してGmailにメールを送信すると、メッセージに元のクライアントIPアドレスが含まれ、SPFチェックが失敗するため、SPFに問題が発生します。

Authentication-Results: mx.google.com;
   spf=fail (google.com: domain of [email protected] does not designate 82.160.100.10 as permitted sender) [email protected]
Received-SPF: fail (google.com: domain of [email protected] does not designate 82.160.100.10 as permitted sender) client-ip=82.160.100.10;

82.160.100.10は元の送信者のIPです。

その問題のために、私たちの内部の対応は、それを通してチェックボックスをオンにする人々のためにGmailでスパムとしてマークされる傾向があります。

それを修正する方法はありますか?


編集:テストメールのヘッダー(IPとドメインを変更)

1)あるボックスから別のボックスに送信される電子メール-Thunderbirdクライアントからのヘッダー:

Return-path: <[email protected]>
Envelope-to: [email protected]
Delivery-date: Thu, 19 Feb 2015 11:41:20 +0100
Received: from nat10.net08-g2.isko.net.pl ([82.160.100.10] helo=[11.0.0.22])
    by mail.example.com with esmtpsa (TLSv1.2:DHE-RSA-AES128-SHA:128)
    (Exim 4.83)
    (envelope-from <[email protected]>)
    id 1YOOPC-0005Ud-Qq
    for [email protected]; Thu, 19 Feb 2015 11:41:20 +0100
Message-ID: <[email protected]>
Date: Thu, 19 Feb 2015 11:41:18 +0100
From: Head Developer <[email protected]>
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
MIME-Version: 1.0
To: Zbyszek <[email protected]>
Subject: This is test
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit

2)Gmailで受信した後の同じメール(POP3による自動定期インポートによる):

Delivered-To: *@gmail.com
Received: by 10.140.86.210 with SMTP id p76csp775880qgd;
    Thu, 19 Feb 2015 02:47:12 -0800 (PST)
X-Received: by 10.140.102.165 with SMTP id w34mr10762910qge.26.1424342832562;
    Thu, 19 Feb 2015 02:47:12 -0800 (PST)
Authentication-Results: mx.google.com;
   spf=fail (google.com: domain of [email protected] does not designate 82.160.100.10 as permitted sender) [email protected]
Received-SPF: fail (google.com: domain of [email protected] does not designate 82.160.100.10 as permitted sender) client-ip=82.160.100.10;
Received: by 10.224.31.8 with POP3 id w8mf619596qac.5;
    Thu, 19 Feb 2015 02:47:12 -0800 (PST)
X-Gmail-Fetch-Info: [email protected] 2 mail.example.com 110 [email protected]
Return-path: <[email protected]>
Envelope-to: [email protected]
Delivery-date: Thu, 19 Feb 2015 11:41:20 +0100
Received: from nat10.net08-g2.isko.net.pl ([82.160.100.10] helo=[11.0.0.22])
    by mail.example.com with esmtpsa (TLSv1.2:DHE-RSA-AES128-SHA:128)
    (Exim 4.83)
    (envelope-from <[email protected]>)
    id 1YOOXn-0005j5-Tm
    for [email protected]; Thu, 19 Feb 2015 11:41:20 +0100
Message-ID: <[email protected]>
Date: Thu, 19 Feb 2015 11:41:18 +0100
From: Head Developer <[email protected]>
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0
MIME-Version: 1.0
To: Zbyszek <[email protected]>
Subject: This is test
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit

編集:いくつかの追加情報

  • 配信方法はSMTPです(自宅のThunderbirdからメールボックス[email protected]を使用して、同じサーバー[email protected]上の別のメールボックスにメールを送信します)
  • 82.160.100.10は私のホームIPであり、nat10.net08-g2.isko.net.plはそのIPに解決される私のホームホスト名です。
  • 10.140.102.165はGmailサーバーIPです
  • 11.0.0.22は私のホームネットワークのローカルIPです
  • メールサーバーのIPはどのヘッダーにも含まれていませんでした(ある場合は188.40.153.39になります)。
  • ホスト名mail.example.comはメールサーバーのIPを指します
  • ドメインIPはどのヘッダーにもありませんでした(ある場合は85.17.23.59に変更します)
  • ドメインには適切なMXエントリがあります(サブドメインmail.example.comを指します)
  • SPFレコード: "v = spf1 a mx ip4:188.40.153.39 -all"

編集:それほど敏感ではないとしてカバーされていないIP

7
Zbyszek

免責事項:この回答は、GMailの担当者が確認するまでは推測でした。

Gmailがフェッチしたメールをここで誤って処理しているようです。一部の人々はまた、 ここここ または ここ であなたと同様のケースを報告します

問題は次のとおりです:GMailは、POP3経由で取得した後、電子メールをスキャンするときにSPFメジャーも展開します。

通常、SPFチェックは、送信者アドレスとクライアントIPアドレスのドメイン部分をチェックすることによってSMTPトランザクションで行われます。ただし、POP3では、GMailはヘッダーを解析し、最後のReceivedヘッダーを見つける必要があります。

Received: from nat10.net08-g2.* ([*.160.100.10] helo=[11.0.0.22])
    by mail.example.com with esmtpsa (TLSv1.2:DHE-RSA-AES128-SHA:128)
    (Exim 4.83)
    (envelope-from <[email protected]>)
    id 1YOOXn-0005j5-Tm
    for [email protected]; Thu, 19 Feb 2015 11:41:20 +0100

これは、サーバーから取得した元のメールです。それはあなたの電子メールが送信者[email protected]*.160.100.10からの電子メールを受け入れると述べています。この段階ではGmailはサーバーのふりをして、送信者アドレス(example.com)とクライアントIPアドレス(* .160.100.10)のドメイン部分をチェックします。結果は期待されていました:

[email protected]のドメインが* .160.100.10を許可された送信者として指定していないため、SPFソフトフェイル

回避策として、メールをスパムとしてマークしないようにGmailフィルターを設定できます。

9
masegaloeh

GmailがReceivedヘッダーのESMTPAを尊重せず、MUAが信頼できるホストであることを示すのはバグのようです。考えられるいくつかの回避策が思い浮かびます。

  1. 分割MXを使用します。つまり、1つのEximインスタンスを使用して認証済みクライアントから受信および転送し、もう1つをメールボックスに受信します。これは、Gmailが期待している可能性のあるISP間メールをシミュレートし、SPFレコードと一致するIPアドレスがヘッダーにあります。
  2. add_header = Received: by 10.224.31.8 with ESMTP ....を追加して、上記の転送をシミュレートするReceivedヘッダーを上部に追加します
  3. pOP経由でGmailでメールをチェックするユーザーの場合は、代わりにコピーをGmailアカウントに転送してください。
2
Cedric Knight

私は同じ問題を抱えていました、そして私はグーグルドキュメントに従って彼を使ってそれを修正しました。これはあなたにも役立つかもしれず、試す価値があります。

https://support.google.com/a/answer/33786?hl=en

既存のspf TXTレコードに追加された次のレコードを含める必要があります。これは、Googleがメールアドレスの送信元を識別するのに役立ちます。

include:_spf.google.com

したがって、次のようにspfレコードを更新する必要があります。

SPFレコード:"v=spf1 a mx ip4:188.40.153.39 include:_spf.google.com -all"

次に、電子メールを送信してみてください。IPの評判が良ければ、受信トレイに直接届くはずです。

0
Digin Dominic