每当我的域向另一个域上的 Google 群组发送消息时,DMARC 对齐就会失败。对于我所有批准的发件人,即使使用我域中的 Gmail,情况也是如此。这似乎是因为 Return-Path(信封发件人)标头被接收组的退回地址替换,但发件人标头仍为我的域,这是不正确的。
例如,我从我的域中的 Gmail 发送邮件,[电子邮件保护],发送到您网域中的群组,[电子邮件保护]。如果你查看收到的邮件的标题,你会看到:
坏的
Return-Path: <[email protected]>
Authentication-Results: mx.google.com;
dkim=pass [email protected];
spf=pass (google.com: domain of [email protected] designates 2607:f8b0:400d:c04::246 as permitted sender)
smtp.mailfrom=your-group+bncBCA5XFGRYQLCBEHHVS5AKGQED3J2I7I@yourdomain.com;
dmarc=fail (p=NONE dis=NONE) header.from=mydomain.com
From: Chris <[email protected]>
X-Original-Sender: [email protected]
X-Original-Authentication-Results: mx.google.com; dkim=pass
[email protected]; spf=pass (google.com: domain of [email protected]
designates 2607:f8b0:400c:c05::233 as permitted sender)
[email protected];
dmarc=pass (p=NONE dis=NONE) header.from=mydomain.com
DMARC 失败是因为发件人域 (mydomain) 与 DKIM 和 SPF 域 (yourdomain) 之间的对齐不正确。但是,当您(正确配置的 GApps 用户)从 Gmail 向 mydomain 上的群组发送邮件时,标头会有所不同。
好的
Return-Path: <[email protected]>
Authentication-Results: mx.google.com;
dkim=pass [email protected];
spf=pass (google.com: domain of [email protected] designates 2607:f8b0:4001:c0b::247 as permitted sender) smtp.mailfrom=my-group+bncBCGJ3NF22YBRBTXIVS1RKGQEIWR5E6Q@mydomain.com;
dmarc=pass (p=NONE dis=NONE) header.from=mydomain.com
From: "'You' via my-group" <my-group@ mydomain.com>
请注意发件人报头的不同格式 - 原始发件人已被我自己的团队替换。还有一对与上面相同的 X-Original 报头,它们具有相同的格式(只是反转了),所以我就不粘贴它们了。
所以问题是,我该如何配置我的域名、gapps、dns、mx 或其他任何东西,以便接收我的邮件的 Google 群组能够正确地将发件人标头替换为“通过[电子邮件保护]“?”
从我的域向其他域的用户发送邮件时一切正常 - DMARC 通过,因为 SPF 和 DKIM 都很好,并且 Return-Path 仍然显示 @mydomain。我读过关于为什么“via you-group”是必要的文章 - 我对此表示同意。我试图弄清楚为什么我发送给群组的消息不是受到那样的对待。
似乎类似于:如何防止来自我的域的电子邮件因 DMARC 而被邮件列表拒绝 不同之处在于,google 群组绝对与 DMARC 兼容 - 其他人没有这个问题。
更新: 我发现这篇文章说,只有当 DMARC 策略严格(p=reject)时,Google 群组才会重写发件人。这似乎是一个糟糕的想法,因为以 p=none 开头的全部目的是确保当你提高策略时你的邮件会被投递,但如果这是真的,那么它可能解释了我的问题。有人可以证实吗? http://www.spamresource.com/2014/04/google-groups-rewriting-from-addresses.html
答案1
我最终收到了 Google 的回复。我很高兴找到一个理解这个问题的人,但不幸的是,Google 似乎仍在坚持他们对 DMARC 指令的错误处理方式。
仅当原始发件人(在本例中为您)的 DMARC 策略设置为拒绝或隔离时,Google 群组才会重写 From: 标头。
使用 DMARC/p=none,在向群组发送邮件时不会重写 DKIM,但由于 DMARC 设置为“none”,因此从投递和垃圾邮件检测的角度来看,群组破坏 DKIM 并不重要 - 邮件仍会正确投递。不幸的是,如果您正在监控部署,这确实会让人感到困惑。
为了查看正确的行为,您可以切换到 p=quarantine 并监控交付情况。请告诉我是否还有其他我可以为您提供帮助的地方,我很乐意跟进。