从我的服务器发送的电子邮件显示为垃圾邮件

从我的服务器发送的电子邮件显示为垃圾邮件

我知道这个问题已经被问过并回答过几次了,但我找不到任何与我的具体问题相关的参考资料。我已经在我的 Debian 7 VPS 上设置了 Postfix 和 Dovecot,我可以发送邮件,但它在我的 gmail 收件箱中显示为垃圾邮件。我发送邮件的域运行一个使用输入“站点联系人”电子邮件地址的 Web 应用程序,并且我在那里输入了我的一个 gmail 电子邮件地址。现在,当我向我的其他 gmail 帐户发送邮件时,它会显示在垃圾邮件中,谷歌给出的理由是,虽然发件人字段显示“原始”电子邮件地址是我的,但它知道它实际上不是来自 gmail 并认为存在欺骗行为。

据我所知,我需要在 DNS 中设置特定的 SPF 记录,以验证我的服务器不会显示为垃圾邮件发件人。我已为 添加了一条记录TXT,但我的邮件仍然直接进入垃圾邮件文件夹。此外,我了解到 Return-Path 可能是一个问题。就我而言,Return-Path 显示为 Apache2 在其下运行的用户帐户。我是否需要更改它以反映我的 gmail 发件人帐户?@v=spf1 a:fluidvector.com include:_spf.google.com ~all

我已经进行了一些 SPF 测试并且输出表明 SPF 很好:

SPF record lookup and validation for: fluidvector.com
SPF records are published in DNS as TXT records.

The TXT records found for your domain are:
v=spf1 a:fluidvector.com ~all

Checking to see if there is a valid SPF record.

Found v=spf1 record for fluidvector.com:
v=spf1 a:fluidvector.com include:_spf.google.com ~all

evaluating...
SPF record passed validation test with pySPF (Python SPF library)!

(上述结果是在我将include:_spf.google.com部分内容添加到我的 SPF 记录后立即给出的)

如何防止使用 Gmail 帐户从我的服务器发送的邮件在另一个 Gmail 帐户中显示为垃圾邮件?我的 Postfix 配置可能有问题吗?

以下是放入垃圾邮件文件夹的原始电子邮件:

Delivered-To: [email protected]
Received: by 10.70.48.208 with SMTP id o16csp66094pdn;
        Thu, 10 Jul 2014 13:25:21 -0700 (PDT)
X-Received: by 10.224.135.2 with SMTP id l2mr86728784qat.37.1405023921164;
        Thu, 10 Jul 2014 13:25:21 -0700 (PDT)
Return-Path: <[email protected]>
Received: from fluidvector.com ([23.88.121.82])
        by mx.google.com with ESMTPS id h39si273921qgd.93.2014.07.10.13.25.20
        for <[email protected]>
        (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
        Thu, 10 Jul 2014 13:25:21 -0700 (PDT)
Received-SPF: pass (google.com: domain of [email protected] designates 23.88.121.82 as permitted sender) client-ip=23.88.121.82;
Authentication-Results: mx.google.com;
       spf=pass (google.com: domain of [email protected] designates 23.88.121.82 as permitted sender) [email protected];
       dmarc=fail (p=NONE dis=NONE) header.from=gmail.com
Received: from localhost (localhost.localdomain [127.0.0.1])
    by fluidvector.com (Postfix) with ESMTP id F0AF8914009F
    for <[email protected]>; Thu, 10 Jul 2014 20:25:18 +0000 (UTC)
X-Virus-Scanned: Debian amavisd-new at 
Received: from fluidvector.com ([127.0.0.1])
    by localhost (fluidvector.com [127.0.0.1]) (amavisd-new, port 10024)
    with ESMTP id VUT1YtvYAYKz for <[email protected]>;
    Thu, 10 Jul 2014 20:25:14 +0000 (UTC)
Received: by fluidvector.com (Postfix, from userid 33)
    id EA69B91400A2; Thu, 10 Jul 2014 20:25:13 +0000 (UTC)
To: =?UTF-8?B?dGVzdA==?= <[email protected]>
Subject: =?UTF-8?B?V2VsY29tZSB0byAiQmVhbnNXb3J0aHki?=
X-PHP-Originating-Script: 1000:messenger.php
From: <[email protected]>
Reply-To: <[email protected]>
Sender: <[email protected]>
MIME-Version: 1.0
Message-ID: <[email protected]>
Date: Thu, 10 Jul 2014 16:25:13 -0400
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: phPULP
X-MimeOLE: phPULP
X-phPULP-Origin: phpulp://beansworthy.fluidvector.com
X-AntiAbuse: Site servername - =?UTF-8?B?YmVhbnN3b3J0aHkuZmx1aWR2ZWN0b3IuY29t?=
X-AntiAbuse: User_id - 1
X-AntiAbuse: Username - =?UTF-8?B?QW5vbnltb3Vz?=
X-AntiAbuse: User IP - 97.82.234.169

我还应该补充一点,最终我将尝试设置 Postfix,以使用我托管的所有 5 个域来发送邮件。这是否意味着我需要为每个域设置单独的“发件人”地址,以避免被标记为垃圾邮件发送者?

任何人若能对此有所阐释,都将不胜感激。

-编辑-:我还注意到邮件似乎在发送之前在我的服务器上被退回了几次。这是正常的吗?

答案1

我发现几个问题:

  • PTR记录返回shoplucro2.smtpilimitado.info未查找的记录23.88.121.82。它应该返回mail.fluidvector.com。这强烈表明它是垃圾邮件。
  • 信封地址和From:地址不匹配。如果您不重新发送电子邮件,它们应该匹配。如果您不想要自动回复(正如我对网站的期望),请考虑使用类似“[电子邮件保护]Reply-To:“。如果您希望人们能够回复,则可以使用标题。
  • 从收到的标头来看,您似乎正在对发送的电子邮件进行病毒过滤。虽然这是一个好主意,但您正在重新注入已过滤的邮件,而不是在接受之前将其退回。这可能会导致反向散射垃圾邮件。
  • Reply-To:Sender:标头都具有与地址相同的数据From:。虽然我尚未验证这些是否表示垃圾邮件,但它们旨在用于From:地址未指定发件人或回复地址的情况。我希望您的使用表明垃圾邮件。

您的 SPF 政策非常开放,因此任何人都可以通过您的域名发送邮件。(无论如何都会发生这种情况,因为您采用了 Google 政策。)

除了上述问题之外,我认为您在邮件头中使用 Gmail 地址不会From:导致您的电子邮件被归类为垃圾邮件。已发布的 Gmail SPF 政策允许这种使用。

您可能需要让您的 IP 地址提供商更新您的PTR记录。

编辑:此Sender:字段适用于某人(助理)代表其他人(地址From:)发送电子邮件的情况。在这种情况下,Sender:和信封地址应该相同,而From:地址不同。

Reply-To:字段缩进用于回复应发送到与From:发送电子邮件的地址不同的地址的情况。在极少数情况下,这三个字段可能都适用,每个字段的值都不同。

Sender:和语义都Reply-To:适用于许多网站,但大多数情况下代码是消息作者,因此它应该是地址From:

允许用户发送其他链接或其他信息的网站会将原始用户的地址放入Reply-To:地址中。网站可能不感兴趣对此类电子邮件的回复,因此请使用noreply发送到位存储桶的地址。您可能需要跟踪noreply数量和原因。您应该有活动的abusepostmaster地址,以便您可以收到滥用和配置问题的通知。

答案2

您无法授权某个域从 gmail 地址发送邮件,只有 Google 可以做到这一点。如果每个人都可以授权自己的服务器发送其他域的电子邮件,那么 SPF 就毫无用处了。垃圾邮件发送者只会授权自己。您需要使用一个源电子邮件地址,其凭据控制。

相关内容