在Odoo中配置DNS记录以发送电子邮件¶
本文档介绍了三种互补的认证协议(SPF、DKIM 和 DMARC),用于证明电子邮件发件人的合法性。不遵守这些协议将大大降低您的电子邮件到达目的地的机会。
Odoo Online 和 Odoo.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.com
: v=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.com
的 odoo
。
DMARC(基于域的消息认证、报告和一致性)¶
DMARC 记录是一种协议,它统一了 SPF 和 DKIM。域名 DMARC 记录中包含的指令告诉目标服务器如何处理未通过 SPF 和/或 DKIM 检查的传入电子邮件。
注解
本文档旨在帮助 理解 DMARC 对电子邮件送达率的影响,而非提供创建 DMARC 记录的具体指导。请参考如 DMARC.org 等资源来设置 DMARC 记录。
有三种 DMARC 策略:
p=none
p=quarantine
p=reject
p=quarantine
和 p=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 还可以用于配置其他较少知名的提供商的记录。