11

每当我使用 PHP 向我的站点成员发送电子邮件时,对于大多数电子邮件提供商(如 Gmail 和 Hotmail)来说,电子邮件最终都会进入垃圾邮件文件夹。

当我在 Gmail 中检查原始来源时,我看到以下内容:

递送至:mypersonalmail@gmail.com
接收:由 10.236.41.34 发送,SMTP id 为 g22cs272510yhb;
2011 年 6 月 1 日星期三 05:38:27 -0700 (PDT)
接收时间:由 10.236.77.102 发送,SMTP ID 为 c66mr7228248yhe.303.1306931907131;2011 年 6 月 1 日星期三 05:38:27 -0700 (PDT)
接收到的 SPF:softfail(google.com:转换域的最佳猜测记录 info@mywebserver.com 未指定为允许的发件人)
接收:10.190.5.195 POP3 id 3mf1156376yxt.72;2011 年 6 月 1 日星期三 05:38:27 -0700 (PDT) X-Gmail-Fetch-Info:info@mywebserver.com 14 mail.mywebserver.com 110 info@mywebserver.com
返回路径:
信封至:info@ mywebserver.com
收到:来自 mybestsh 的 s01.next-web.nl 与本地(Exim 4.69)
(envelope-from)
id 1QRkgT-0000BF-3v
for info@mywebserver.com; 2011 年 6 月 1 日星期三 14:38:01 +0200
收件人:info@mywebserver.com
主题:您的新密码
MIME 版本:1.0
发件人:MyServer
回复:MyServer
X-Sender:MyServer

我已按如下方式设置了我的 SPF 记录:

v=spf1 a mx ip4:xxx.xxx.xx.xx-all

我想知道是什么导致了软故障。有任何想法吗?

4

4 回答 4

15

Return-Path 标头为空。这意味着在 SMTP 对话期间,MAIL FROM 命令没有指定发送退回邮件的电子邮件地址。SPF 测试的是来自该电子邮件地址的域。如果没有电子邮件地址,将导致软失败。

于 2012-04-03T19:34:10.327 回答
13

如果没有真实信息(涉及的 IP、域名、发件人地址、完整的 spf 记录等),将很难回答这个问题。看起来这条消息不是直接发送到 gmail 的,而是通过 Gmail Fetch (Header X-Gmail-Fetch-Info ) 从您的服务器检索到的,这使得分析更加复杂。

这里有几种可能性:

  • 无效的 SPF 记录(在您的示例中,IP 和 -all 之间没有空格)
  • SPF 记录中的 IP 地址错误
  • 您的服务器不直接发送邮件,邮件是通过智能主机发送的,而不是 SPF 记录中缺少的
  • SPF 不是问题(例如,您的邮件没有日期标头,这也可能导致它被标记为垃圾邮件,From/Reply-To/X.Sender 不是真正的电子邮件地址,...)
于 2011-06-06T09:46:49.243 回答
10

这意味着您正在使用不属于您的电子邮件地址发送邮件(例如,您的 smtp 服务器的域名为 CompanyABC.COM,而您发送的电子邮件的发件人为:someone@CompanyDDD)

于 2012-11-10T02:33:23.207 回答
0

我在这里找到了一篇关于 spf 检查的非常好的帖子。如果您的 spf 和其他设置正确,并且仍然在垃圾邮件文件夹中收到电子邮件,请等待 3.4 小时,如帖子中所述

Google 的垃圾邮件过滤器非常强大。如果您从 IP 或 IP 阻止向他们的服务器发送过多垃圾邮件,他们将一次阻止您长达数小时。你会收到垃圾邮件,你会转发它。他们会将您认为不是垃圾邮件的邮件过滤为垃圾邮件。无论如何,即使您不同意,您也会向 Google 发送他们认为是垃圾邮件的电子邮件。通过在给定的时间范围内收到比他们欣赏的更多的电子邮件,您的转发器将突然停止工作数小时(或更糟)。

于 2020-06-03T07:55:26.263 回答