为了降低电子邮件被标记为垃圾邮件的可能性,我认为应在电子邮件服务器上执行以下几项操作:
- 主机名解析为有效的 IP,例如mail.example.com解析为1.1.1.1
- 存在反向DNS,例如1.1.1.1指向mail.example.com
- 邮件服务器发出“HELO”命令作为mail.example.com
- 邮件服务器有一条 MX 记录指向mail.example.com
- SPF 记录包含1.1.1.1作为授权发送服务器
- DMARC 和 DKIM 验证。由邮件服务器加密的DKIM签名和公钥可用于解密。
当 Postfix 服务器中继到 Office 365 时,您将如何配置 DNS?
SMTP 中继已配置为选项 3,请参阅本文)。我相信下面列出的内容仅适用于设置 SMTP 中继而不是 SMTP 身份验证(我相信使用 SMTP 身份验证时,HELO 交换将在 Office 365 和收件人服务器之间完成,因此这不适用)。
- Postfix 服务器应该解析为有效的 IP,例如mail.example.com 解析为1.1.1.1
- 存在反向 DNS,例如1.1.1.1点mail.example.com。
- 如果有多个域和服务器从同一 IP 发送数据,会发生什么情况?如果服务器使用相应的域作为主机名,这不会是一个问题吗?例如,mail.abc-domain.com和mail.example.com是两个使用相同公共IP 地址的独立服务器。
- 解决方案是否在所有服务器上使用相同的主机名进行 HELO 交换,而不管服务器中继到哪个域?或者,我们可以为每个域设置两个公共 IP。
- Postfix 服务器应以mail.example.com形式发出“HELO”命令。
- MX 设置为example.mail.protection.outlook.com for example.com,因为邮件正在传递到 Office 365。在此方案中,Postfix 服务器仅用作中继服务器。
- SPF 记录应包括1.1.1.1和spf.protection.outlook.com。
- 到 Office 365 的 SMTP 中继似乎在 HELO 交换中包含 Postfix 服务器的主机名和 IP,这意味着在 SPF 记录中包含 Postfix 的公共 IP 非常重要。
- Office 365 将代表example.com向经过身份验证的用户(例如 Outlook 用户)发送电子邮件,这也是SPF 记录中需要spf.protection.outlook.com的原因。
- example.com 已存在 PTR 记录,该记录指向 2.2.2.2 上的 Web 服务器。Web服务器不需要指向自身的PTR记录,所以我认为将PTR更改为Postfix服务器是安全的。PTR 记录还有哪些其他用例?
- DMARC 和 DKIM 验证。
- 我认为当 Postfix 服务器和普通用户(Outlook 用户)向 Office 365 提交电子邮件时,DKIM 签名应该在 Office 365 中加密。这是正确的吗?
如前所述,我可以看到 Postfix 在电子邮件标头中包含了主机名和 IP,如下所示。
Hop Delay From By With Time (UTC) Blacklist
1 * userid mail.example.com 9/8/2023 6:38:37 AM
2 1 Second mail.example.com 59.154.1.42 SY4AUS01FT019.mail.protection.outlook.com 10.114.156.121 Microsoft SMTP Server 9/8/2023 6:38:38 AM Not blacklisted
3 1 Second SY4AUS01FT019.eop-AUS01.prod.protection.outlook.com 2603:10c6:10:1f4:cafe::15 SY5PR01CA0071.outlook.office365.com 2603:10c6:10:1f4::9 Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) 9/8/2023 6:38:39 AM Not blacklisted
4 0 seconds SY5PR01CA0071.ausprd01.prod.outlook.com 2603:10c6:10:1f4::9 ME3PR01MB7048.ausprd01.prod.outlook.com 2603:10c6:220:16d::8 Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) 9/8/2023 6:38:39 AM
在收到的电子邮件标头中,我可以看到电子邮件标头显示将电子邮件中继到 Office 365 时在 Postfix 服务器上启动 HELO 命令
Received-SPF: Pass (protection.outlook.com: domain of example.com designates
1.1.1.1 as permitted sender) receiver=protection.outlook.com;
client-ip=1.1.1.1; helo=mail.example.com; pr=C
Received: from mail.example.com (1.1.1.1) by
SY4AUS01FT019.mail.protection.outlook.com (10.114.156.121) with Microsoft
SMTP Server id 15.20.6768.30 via Frontend Transport; Fri, 8 Sep 2023 06:38:38
+0000
相反,当通过 Outlook 通过 Office 365 发送时,HELO 从 Office 365 开始
Received-SPF: Pass (protection.outlook.com: domain of example.com
designates 40.107.108.68 as permitted sender)
receiver=protection.outlook.com; client-ip=40.107.108.68;
helo=AUS01-ME3-obe.outbound.protection.outlook.com; pr=C
Received: from AUS01-ME3-obe.outbound.protection.outlook.com (40.107.108.68)
by ME3AUS01FT015.mail.protection.outlook.com (10.114.155.141) with Microsoft
SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.20.6792.19 via Frontend Transport; Wed, 13 Sep 2023 04:01:55 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
转发与发送电子邮件有很大不同。您所描述的措施与发送电子邮件有关。它们都应该与转发电子邮件无关。
不,这没有任何意义。DKIM签署电子邮件。接收者验证签名。如果无法读取签名,则无法执行此操作。
首先确认您的 Postfix 服务器的主机名是否正确解析为有效的 IP 地址,例如“mail.example.com”解析为“1.1.1.1”。此外,请确保存在反向 DNS 记录,将“1.1.1.1”链接回“mail.example.com”。这些基本的 DNS 设置在建立信任和传递电子邮件而不被标记为垃圾邮件方面发挥着关键作用。
在多个域共享具有公共公共 IP 的单个服务器的情况下,请考虑为 HELO 交换采用一致的主机名,例如“mail.example.com”。这简化了配置和管理,并且只需要一条 SPF 记录。但是,请务必小心,如果您的某个域被列入黑名单,可能会影响您所有域中的电子邮件送达率。或者,您可以选择为每个域分配单独的公共 IP。虽然这提供了增强的隔离和弹性,但它的配置和管理设置更加复杂。
在 SPF DNS 记录中包含 Postfix 服务器的公共 IP(“1.1.1.1”)和 Office 365 的 SPF 记录(“spf.protection.outlook.com”)至关重要。此步骤至关重要,因为 Office 365 可能代表您的域发送电子邮件,特别是对于 Outlook 用户等经过身份验证的用户。SPF 记录示例如下所示:“v=spf1 a:1.1.1.1 include:spf.protection.outlook.com ~all”。
如果“example.com”存在指向 Web 服务器 IP(“2.2.2.2”)的 PTR 记录,则将其更改为指向 Postfix 服务器不会对 Web 服务器产生负面影响。PTR 记录有助于验证服务器的真实性,并且应准确反映服务器的功能。在这种情况下,将“1.1.1.1”的 PTR 记录更新为指向“mail.example.com”与其作为电子邮件服务器的角色保持一致。
确保 DKIM 签名在 Office 365 中正确加密。这一点至关重要,因为 Postfix 服务器和 Outlook 用户都会向 Office 365 提交电子邮件,并且正确的 DKIM 加密对于电子邮件身份验证和可信度至关重要。值得注意的是,Office 365 会自动使用 DKIM 签署所有外发电子邮件,因此您无需进行任何其他配置。
通过遵循这些 DNS 和电子邮件配置最佳实践,您可以增强 Office 365 电子邮件中继的可靠性。这反过来又提高了电子邮件的送达率并降低了电子邮件被标记为垃圾邮件的可能性。加密 Postfix 服务器和 Office 365 之间的电子邮件连接以增强安全性和隐私性。设置 Postfix 以使用 SMTP AUTH 向 Office 365 进行身份验证,以实现安全电子邮件中继。
定期检查电子邮件标头,以确保 HELO 命令与服务器的主机名一致,从而确保电子邮件成功发送。