我已经能够让 SPF 传递从我的 Postfix 服务器发送的所有电子邮件。但对于转发域(仅将电子邮件重定向到我的 gmail id),我在 SPF 中看到软失败。
例如,如果我从 hotmail 帐户发送电子邮件到[电子邮件保护]然后将其转发到测试电子邮件 ID[电子邮件保护]。
我为我的主机名 (host.tariffplans.com) 以及所有域添加了 SPF 标头“spf1 a mx -all”。所有域/子域的 A 记录都正确指向我的服务器 IP:23.239.30.81
但在转发的电子邮件标题中..谷歌将其显示为软失败。 可能是什么问题呢?:
送到了(送去了:[电子邮件保护] 已接收:10.114.96.70,SMTP ID 为 dq6csp51447ldb; 2014 年 7 月 19 日星期六 23:05:03 -0700 (太平洋夏令时间) X-Received:由 10.182.65.66 发送,SMTP ID 为 v2mr22896624obs.74.1405836302184; 2014 年 7 月 19 日星期六 23:05:02 -0700 (太平洋夏令时) 返回路径: 收到:来自 host.tariffplans.com(tariffplans.com。[23.239.30.81]) 由 mx.google.com 提供,ESMTPS id 为 js4si25593503obc.98.2014.07.19.23.05.01 为了 (版本=TLSv1.1 密码=ECDHE-RSA-RC4-SHA 位=128/128); 2014 年 7 月 19 日星期六 23:05:02 -0700 (太平洋夏令时) 已接收 SPF:软失败(google.com:转换域[电子邮件保护]没有指定 23.239.30.81 为允许的发送方)client-ip=23.239.30.81; 身份验证结果:mx.google.com; spf=softfail(google.com:转换域[电子邮件保护]未指定 23.239.30.81 为允许的发送者)[电子邮件保护] 收到:来自 BLU004-OMC4S20.hotmail.com (blu004-omc4s20.hotmail.com [65.55.111.159]) (使用 TLSv1.2 和密码 AES128-SHA256(128/128 位)) (无需客户端证书) 由 host.tariffplans.com (Postfix) 提供,ESMTPS id 为 668E01E1619 ; 星期日, 20 七月 2014 11:35:01 +0530 (IST) 收到:来自 BLU181-W79 ([65.55.111.136]),由 BLU004-OMC4S20.hotmail.com 使用 Microsoft SMTPSVC(7.5.7601.22712) 发送; 2014 年 7 月 19 日星期六 23:05:01 -0700 X-TMN:[mcaEHqstvkaYJBg7Y5zPleq+hEPF4BC7] X-Originating-电子邮件:[[电子邮件保护]] 消息ID: 内容类型:multipart/alternative; 边界=“_dfcd1b0c-5d39-4204-a29c-16fb51556946_” 来自:Bhasker Yamsani 到: ”[电子邮件保护]“ 主题:测试 日期:2014 年 7 月 20 日星期日 02:05:00 -0400 重要性:正常 MIME 版本:1.0 X-OriginalArrivalTime:2014 年 7 月 20 日 06:05:01.0018(UTC)FILETIME=[8A96E3A0:01CFA3E0]
答案1
您的服务器host.tariffplansindia.com
正在接收来自外部的邮件,在本例中为[email protected]
。您主机上的接收者是[email protected]
。现在您的服务器中继该邮件(不更改信封发件人地址)发送到 gmail。gmail 服务器现在会从您的服务器收到host.tariffplansindia.com
一封带有信封发件人的邮件[email protected]
。现在的 SPF 记录hotmail.com
禁止除其自己的发件人之外的所有发件人,您对此无能为力。SPF 破坏了这种邮件转发,这是一个已知问题,但它也已通过以下方式解决:Open SPF 的发件人重写方案 (SRS)。
使用 SRS,中继邮件服务器可以重写信封发件人,使其来自您控制 SPF 记录的域(host.tariffplansindia.com
)。不幸的是,在大多数情况下,在邮件服务器上设置 SRS 需要手动编译和安装软件,只有非常有限的种类可用的实现在 open-spf.org 上列出,并且还存在一个问题如何在 Postfix 上执行 SRS。
答案2
为我找到了简单的解决方案,我只需在我的域名托管中添加一个 TXT 记录,其中包含“ v=spf1 ip4:xxx.xxx.xxx.xxx include:_spf.google.com ~all ”,其中 xxx.xxx.xxx.xxx 是您的服务器 IP。