在Odoo中配置DNS记录以发送电子邮件

本文档介绍了三种互补的认证协议(SPF、DKIM 和 DMARC),用于证明电子邮件发件人的合法性。不遵守这些协议将大大降低您的电子邮件到达目的地的机会。

Odoo OnlineOdoo.sh 数据库使用 默认的 Odoo 子域名地址**(例如 `@company-name.odoo.com`)已预先配置为 **发送符合 SPF、DKIM 和 DMARC 协议的认证邮件

如果选择使用 自定义域名 ,则 正确配置 SPF 和 DKIM 记录至关重要 ,以防止电子邮件被隔离为垃圾邮件或无法送达收件人。

如果使用 默认的 Odoo 邮件服务器从自定义域名发送邮件,则必须按照以下方式配置 SPF 和 DKIM 记录。如果使用外部邮件服务器,则需要使用特定于该邮件服务和自定义域名的 SPF 和 DKIM 记录。

注解

电子邮件服务提供商对收到的邮件应用不同的规则。即使一封邮件通过了 SPF 和 DKIM 检查,仍可能被归类为垃圾邮件。

SPF (Sender Policy Framework)

发件人策略框架(SPF)协议允许域名所有者指定哪些服务器可以从该域名发送电子邮件。当服务器接收到传入的电子邮件时,它会根据发件人的 SPF (发件人策略框架) 记录,检查发送服务器的 IP 地址是否在允许的 IP 列表中。

在 Odoo 中,SPF 测试是在退信地址上执行的,该地址定义在数据库的 常规设置 下的 别名域 字段中。如果使用自定义域作为 别名域,则需要将其配置为符合 SPF 标准。

域的SPF策略通过TXT记录设置。创建或修改此记录的方式取决于托管域名 DNS(域名系统) 区域的提供商。

如果域名尚未有 SPF 记录,请使用以下输入创建一个:

v=spf1 include:_spf.odoo.com ~all

如果域名 已经存在 SPF 记录,则必须更新该记录。不要创建新的记录,因为一个域名只能有一个 SPF 记录。

Example

如果TXT记录是 v=spf1 include:_spf.google.com ~all ,请编辑它以添加 include:_spf.odoo.comv=spf1 include:_spf.odoo.com include:_spf.google.com ~all

使用诸如 MXToolbox SPF 记录检查 这样的工具检查 SPF 记录。创建或修改 SPF 记录的过程取决于托管域名 DNS 区域的提供商。以下列出了 最常见的提供商 及其文档。

DKIM(DomainKeys Identified Mail)

DomainKeys Identified Mail(DKIM)允许用户使用数字签名对电子邮件进行身份验证。

发送电子邮件时,Odoo 邮件服务器会在邮件头中包含一个唯一的 DKIM 签名。接收方的服务器使用数据库域名中的 DKIM 记录解密此签名。如果签名与记录中包含的密钥匹配,则证明邮件是真实的,且在传输过程中未被篡改。

启用 DKIM 是 必需的,当使用 Odoo 邮件服务器 从自定义域名 发送邮件时。

要启用DKIM,请向域名的 DNS 区域添加一条 CNAME 记录:

odoo._domainkey IN CNAME odoo._domainkey.odoo.com.

小技巧

如果域名为 company-name.com,请确保创建一个子域名 odoo._domainkey.company-name.com,其规范名称为 odoo._domainkey.odoo.com.

创建或修改 CNAME 记录的方式取决于托管域名 DNS 区域的提供商。以下列出了 最常见的提供商 及其文档。

使用类似 MXToolbox DKIM Record Lookup 的工具检查 DKIM 记录是否有效。在 DKIM 查找工具中输入 example.com:odoo,指定正在测试的选择器为自定义域名 example.comodoo

DMARC(基于域的消息认证、报告和一致性)

DMARC 记录是一种协议,它统一了 SPFDKIM。域名 DMARC 记录中包含的指令告诉目标服务器如何处理未通过 SPF 和/或 DKIM 检查的传入电子邮件。

注解

本文档旨在帮助 理解 DMARC 对电子邮件送达率的影响,而非提供创建 DMARC 记录的具体指导。请参考如 DMARC.org 等资源来设置 DMARC 记录。

有三种 DMARC 策略:

  • p=none

  • p=quarantine

  • p=reject

p=quarantinep=reject 指示接收邮件的服务器在 SPF 或 DKIM 检查失败时隔离该邮件或忽略它。

注解

要使 DMARC 通过,DKIM 或 SPF 检查必须通过,并且域名必须对齐。如果托管类型是 Odoo Online,则需要在发送域上配置 DKIM 以通过 DMARC。

通过 DMARC 通常意味着电子邮件将成功送达。然而,需要注意的是,其他因素(如垃圾邮件过滤器)仍然可能拒绝或隔离邮件

p=none 用于让域名所有者接收有关使用其域名的实体的报告。它不应影响可送达性。

Example

_dmarc IN TXT “v=DMARC1; p=none; rua=mailto:postmaster@example.com” 意味着汇总的 DMARC 报告将被发送到 postmaster@example.com

SPF, DKIM 和 DMARC 常见提供商的文档

要完全测试配置,请使用 Mail-Tester 工具,该工具可以在一封发送的电子邮件中提供内容和配置的完整概述。Mail-Tester 还可以用于配置其他较少知名的提供商的记录。