由于 SPF 验证失败而导致的垃圾邮件

由于 SPF 验证失败而导致的垃圾邮件

我有一个公共邮件服务器(Linux + postfix)和一些使用它的客户端。该服务器配置正确,包括 DKIM 和 SPF 验证。但只有少数客户端发送的电子邮件被标记为垃圾邮件,因为客户端 IP 与允许的发件人的 IP 不匹配,并且 SPF 验证失败:

Received-SPF:失败(google.com:域名[电子邮件保护]没有指定 217.125.48.20 为允许的发送方)client-ip=217.125.48.20;

当然,217.125.48.20不是我的服务器的IP。

我不知道原因,因为他们是从正确配置的 Outlook 发送邮件的(据我所知)。尽管 DKIM 验证通过,但之前通过我服务器的电子邮件还是被发送了。

有没有人遇到过类似的问题并能告诉我造成这种不匹配的可能原因?

以下是标题(邮箱已被 xxxxx 替换):

Delivered-To: [email protected]
Received: by 10.194.70.103 with SMTP id l7csp1376984wju;
        Fri, 2 Sep 2016 04:49:17 -0700 (PDT)
X-Received: by 10.28.154.208 with SMTP id c199mr2895670wme.102.1472816956397;
        Fri, 02 Sep 2016 04:49:16 -0700 (PDT)
Authentication-Results: mx.google.com;
       spf=fail (google.com: domain of [email protected] does not designate 217.125.48.20 as permitted sender) [email protected];
       dkim=pass [email protected]
Received-SPF: fail (google.com: domain of [email protected] does not designate 217.125.48.20 as permitted sender) client-ip=217.125.48.20;
Received: by 10.28.127.2 with POP3 id a2mf7718962wmd.1;
        Fri, 02 Sep 2016 04:49:16 -0700 (PDT)
X-Gmail-Fetch-Info: [email protected] 1 ns.cydsur.com 995 [email protected]
Return-Path: <[email protected]>
Delivered-To: [email protected]
Received: from DANIEL (20.red-217-125-48.staticip.rima-tde.net [217.125.48.20])
    (Authenticated sender: [email protected])
    by ns.cydsur.com (Postfix) with ESMTPSA id 1D985330D3F1;
    Fri,  2 Sep 2016 13:45:14 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cydsur.com; s=mail;
    t=1472816717; bh=8OGFi38ZIKFm+jXd0aJbg6pZnAOtjZMC4U8yHU+Tpm4=;
    h=From:To:Cc:Subject:Date:From;
    b=OaGmCrOIBLREC3z5kJt4Z91CTK7caJY0FQvYtTQBiJjrAiK4HQw1/LotUW9g7DuZQ
     SOchVeXw7Filp0smGGOdVnJWrSdHEWT74SwqWTULmpYxIHOds68HOIWwJJKR8rxLOe
     a+TidmwP93Zua4ETN51zqU/QVtB9I1oefxd0W0B0=
From: =?iso-8859-1?Q?XXXXXXXXXXXXXX?= <[email protected]>
To: <[email protected]>,
    <[email protected]>
Cc: "'XXXXXXX'" <[email protected]>
Subject: RV: ctas de usuarios.
Date: Fri, 2 Sep 2016 13:45:16 +0200
Message-ID: <000301d2050f$7a7d3540$6f779fc0$@com>
MIME-Version: 1.0
Content-Type: multipart/related;
    boundary="----=_NextPart_000_0004_01D20520.3E060540"
X-Mailer: Microsoft Office Outlook 12.0
Thread-Index: AdHjLl7+vxyBNVQdQIWvJApRimDm9gh3o/5Q
Content-Language: es
X-Spam-Status: No, score=-0.7 required=5.0 tests=ALL_TRUSTED,BAYES_00,
    HTML_MESSAGE,TVD_RCVD_SINGLE,T_KAM_HTML_FONT_INVALID,URIBL_BLOCKED
    autolearn=no autolearn_force=no version=3.4.0
X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on ns.cydsur.com
X-Virus-Scanned: clamav-milter 0.98.7 at ns.cydsur.com
X-Virus-Status: Clean

答案1

由于 SPF 验证失败而导致垃圾邮件是常见的操作程序。如果验证失败而本不应该失败,则 DNS 中的 SPF 记录值得怀疑,应仔细检查。将失败归咎于客户端 IP“应该”只对接收服务器 MTA 有意义。

查看提供的标题,并按照消息的路径进行操作。

看起来[电子邮件保护]写了一条消息,从 (20.red-217-125-48.staticip.rima-tde.net [217.125.48.20]) 连接,并向主机 ns.cydsur.com 验证以发送其消息。Out 可能是 cydsur.com 域中的端点或需要额外的中继,但一旦被 cydsur.com 上的 MTA(postfix)接受,该 MTA 必须将消息传递/中继到其目的地或下一跳。在您的例子中,该端点都是本地的,并且其中一个托管域中的用户从 google 邮件 (gmail) 帐户弹出他们的邮箱。

afanascadiz.com 的名称服务器 (NS)、邮件交换器 (MX) 和地址 (A) 记录均位于 ns.cydsur.com,邮件信封的 TO 和 CC 字段中的目标地址域也是如此。可以使用 dig 或 nslookup 命令进行验证。

发件人允许框架 (SPF) 适用于邮件的发件人地址。

  • afanascadiz.com 文本 = “v=spf1 include:cydsur.com -all”

可以更好地写成;

  • afanascadiz.com 文本 = “v=spf1 mx include:cydsur.com -all”

甚至更好;

  • afanascadiz.com 文本 = “v=spf1 mx -all”

因为 mx 实际上是 ns.cydsur.com。

或者,可以将 -all 改为 ~all 以放宽限制,但可能不会改变您在 gmail 上看到的最终结果。如果您确实使用了 ~all,请仔细测试以确保这不会违背 SPF 设置的初衷。

SPF 设置均无法解释 Google 在充当 POP3S(注意端口 995)客户端时为何检查这些设置。SPF 是为 SMTP 协议设计的,而非为 POP 设计的。考虑到在 POP 检索该邮件之前,邮件的 SMTP 标头中只有一行“已接收:”,这可能是 Gmail 识别垃圾邮件时必须使用的唯一数据。这是不匹配的最可能原因,或者至少是可能原因之一。

相关内容