![指定“发件人”域以外的 DKIM 签名者](https://linux22.com/image/804257/%E6%8C%87%E5%AE%9A%E2%80%9C%E5%8F%91%E4%BB%B6%E4%BA%BA%E2%80%9D%E5%9F%9F%E4%BB%A5%E5%A4%96%E7%9A%84%20DKIM%20%E7%AD%BE%E5%90%8D%E8%80%85.png)
几个月前,我为我的三人公司实施了 SPF/DKIM/DMARC。试用期过后,我将 DMARC 切换为“p=reject”,这样如果电子邮件未通过 SPF/DKIM,就会被拒绝。一般来说,这种方法是有效的:我们的电子邮件会通过,并且根据 DMARC 报告中的数据,垃圾邮件发送者试图伪造来自我们域的电子邮件会被拒绝。服务器是 Ubuntu/Postfix。
唯一不起作用的是,对于日历,我们一直使用 Google 日历和 Google 帐户以及我们的工作电子邮件(使用我们的公司域名;而不是 gmail 地址)。当我们中的一个人创建 Google 日历邀请(在 Google 网站上,或通过 Thunderbird/Lightning 与 Google 日历提供商)并与 Google Apps 托管的电子邮件地址的与会者收件人一起创建时,Google 会拒绝我们的邀请电子邮件。Google 代表 Google-Apps 托管域发出的退回消息表示,拒绝是基于我的域的 DMARC 政策:
Google 尝试发送您的邮件,但收件人域 [Google Apps Hosted Domain Removed] 的服务器拒绝了该邮件,收件人为 aspmx.l.google.com。另一台服务器返回的错误为:由于域的 DMARC 政策,来自 [My Company's Domain Removed] 的未经身份验证的电子邮件不被接受。如果这是一封合法邮件,请联系 [My Company's Domain Removed] 域的管理员。
正下方是 google.com 的(大概)有效 DKIM 签名。换句话说,Google 拒绝了其自己的 DKIM 签名电子邮件,将其视为垃圾邮件,因为我的 DMARC 政策不是这样规定的。但我不知道如何让我的 DMARC 政策说不是这样。对于 SPF,我可以将 Google 指定为有效发件人。但我找不到任何方法对 DKIM 执行此操作:我可以在 DKIM 记录中输入“如果它具有有效的 Google DKIM 签名,则不是垃圾邮件”。有这样的事吗?有没有办法授权除“发件人”域之外的其他 DKIM 签名者?
答案1
请注意,您可以在 DNS 中发布多个 DKIM 选择器。一个是您已用于本地服务器的选择器,另一个是用于来自 Google Apps 的邮件的选择器(例如ubuntu._domainkey.yourdomain.com
和google._domainkey.yourdomain.com
)。启用 DKIM登录 Google Apps 设置和日历邀请将由 google.com 和 yourdomain.com 签名(后者将对应于google._domainkey.yourdomain.com
选择器)签名。如果您已将 Google IP 空间添加到 SPF 定义中,这应该可以解决 DMARC 问题。希望这对您有所帮助。
答案2
与 SPF(mail from
即邮件标头/内容)和 DKIM(即邮件标头/内容)不同,dmarc 基于from
标头。因此,您的 SPF(如果您必须使用 Google 日历,我建议您添加 Google)
首先添加 google 的 spf 并确保 dmark 设置为宽松,他们会使用您的 dmarc 取证报告中的信息进行更明确的调整。
我会给 dmarc 小组发送电子邮件,看看他们是否有其他建议,如果您在 Google Apps 中注册了 1 个电子邮件帐户,您就可以将所有电子邮件从内部服务器(如您的电子邮件服务器)转发出去。