我是 Exchange 混合配置的新手。当我尝试为以下情况寻找答案时,我感到很困惑。
我们有一个 Exchange Hybrid 系统,并使用 Messagelab 作为垃圾邮件过滤的智能主机。检查 SPF 配置时,我发现了一个奇怪的现象:
在公共 DNS 上,SPF 配置为
v=spf1 include:spf.messsagelab.com –all
在 O365 -> 域上,SPF 配置为
v=spf1 include:spf.protection.outlook.com –all
我怀疑公共 DNS 和 O365 上的配置应该相同。我这样说对吗?
答案1
SPF 列出了允许从域发送电子邮件的主机。您域的公共 DNS 应包括您希望用于发送电子邮件的所有服务器和服务。有关一般信息,请阅读Office 365 如何使用发件人策略框架 (SPF) 防止欺骗
如果您使用 Messagelab传出电子邮件,您应该将其列在公共 DNS 的 SPF 中,即include:spf.messsagelab.com
。如果来自 Office 365 的所有邮件都应该首先通过 Messagelab,则您不需要include:spf.protection.outlook.com
。
在这两种情况下,将它们同时列出都是安全的:
v=spf1 include:spf.messsagelab.com include:spf.protection.outlook.com –all
请注意,这-all
将导致 SPF 硬故障,这意味着邮件可能会被拒绝,而不是像SOFTFAIL
您在~all
那里那样被标记为垃圾邮件。
如果你只使用 Messagelab传入邮件,您需要将spf.protection.outlook.com
其包括在内。然后,您需要在 Office 365 上禁用 SPF 检查(因为 Messagelab 上已经这样做了)
- Office 365 管理员>Exchange 管理中心>保护>垃圾邮件过滤器
- 编辑默认>高级选项>标记为垃圾邮件>SPF 记录:硬失败:离开
和/或将 Messagelab 列入白名单(因为它不会被列为您正在检查的域的允许发件人):
- Office 365 管理员>Exchange 管理中心>保护>连接筛选器Connection Filter
- 编辑默认>连接过滤>IP 允许列表
答案2
在 Office365 上,他们会告诉您 SPF 记录应该是什么 - 唯一重要的是公共 DNS 上的内容。
答案取决于您如何路由外发电子邮件。如果您有从 Office365 向所有用户发送的外发电子邮件,则需要将记录更改为仅 Microsoft SPF 记录。如果您只有通过 Message Labs 发送所有内容,则不要管它。如果是混合的,则取决于用户所在的位置,那么您将需要两者。
答案3
如果两个环境都允许向外部发送邮件,则需要将公共 SPF 记录修改为:v=spf1 include:spf.messagelabs.com include:spf.protection.outlook.com -all