配置DNS及发送邮件¶
垃圾邮件标签概览¶
有时,来自 Odoo 的电子邮件会被不同的电子邮件提供商错误分类,最终进入垃圾邮件文件夹。目前,有些设置不在 Odoo 的控制范围内,特别是不同的电子邮件提供商根据自己的限制政策和/或限制对 Odoo 的电子邮件进行分类的方式。
根据 Odoo 的标准,电子邮件是从 "name of the author" <notifications@mycompany.odoo.com> 接收的。可以翻译成:"作者姓名" <{ICP.mail.from.filter}@{mail.catchall.domain}>. 在这种情况下,ICP 代表 “ir.config.parameters”,即系统参数。使用 通知配置 ,可大大提高发送能力。
为了让服务器更经常地接受来自 Odoo 的电子邮件,解决方案之一是让客户在自己的邮箱中创建规则。可以在电子邮件收件箱中添加过滤器,这样当收到来自 Odoo 的电子邮件时(”notifications@mycompany.odoo.com”),它就会被移到收件箱中。还可以将 Odoo 数据库域添加到安全发件人列表或接收域的白名单中。
如果 Odoo 电子邮件服务器出现在黑名单上,请通过 新帮助工单 通知 Odoo,支持团队会将服务器从黑名单中移除。
如果 Odoo 数据库使用自定义域名从 Odoo 发送电子邮件,则应在自定义域名的 DNS 上实施三项记录,以确保电子邮件可送达。这包括为 SPF(发件人策略框架) 、 DKIM(域名密钥识别邮件) 和 DMARC(基于域的消息验证、报告和一致性) 设置记录。不过,最终接收邮箱的处理方式由其自行决定。
符合 SPF 标准¶
发件人策略框架(SPF)协议允许域名所有者指定哪些服务器可以从该域名发送电子邮件。当服务器接收到传入的电子邮件时,它会根据发件人的 SPF (发件人策略框架) 记录,检查发送服务器的 IP 地址是否在允许的 IP 列表中。
Note
SPF(发件人策略框架) 验证在电子邮件的 返回路径 字段中提到的域上执行。在由 Odoo 发送电子邮件的情况下,该域与数据库系统参数中的 mail.catchall.domain 键值相对应。
域名的 SPF(发件人策略框架) 策略通过 TXT 记录设置。创建或修改 TXT 记录的方法取决于托管域名的 DNS(域名系统) 区域的提供商。为了验证正常,每个域名只能有一个 SPF(发件人策略框架) 记录。
如果域名还没有 SPF(发件人策略框架) 记录,请使用以下输入进行创建: v=spf1 include:_spf.odoo.com ~all
如果域名已有 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(发件人策略框架) 记录是否有效。
启用DKIM¶
域名密钥识别邮件(DKIM)允许用户使用数字签名对电子邮件进行身份验证。
发送电子邮件时,Odoo 服务器会在标题中包含一个唯一的 DKIM(域名密钥识别邮件) 签名。收件人的服务器使用数据库域名中的 DKIM(域名密钥识别邮件) 记录解密该签名。如果签名和记录中包含的密钥相匹配,就能保证邮件是真实的,在传输过程中没有被篡改。
要启用 DKIM(域名密钥识别邮件) ,请在域名的 DNS(域名系统) 区域添加一条 CNAME(规范名称) 记录:
odoo._domainkey IN CNAME odoo._domainkey.odoo.com.
Tip
如果域名为 mycompany.com,请确保创建一个子域 odoo._domainkey.mycompany.com ,其规范名称为 odoo._domainkey.odoo.com.。
创建或修改 CNAME(规范名称) 记录的方法取决于托管域名的 DNS(域名系统) 区域的提供商。最常见的提供商是 下面列出的 。
使用 DKIM Core 等免费工具检查 DKIM(域名密钥识别邮件) 记录是否有效。如果询问选择器,请输入 odoo。
查看 DMARC 政策¶
基于域的消息验证、报告和一致性(DMARC)记录是一个将 SPF(发件人政策框架) 和 DKIM(域名密钥识别邮件) 统一起来的协议。域名的 DMARC (基于域的消息身份验证、报告和一致性) 记录中包含的指令告诉目标服务器如何处理未通过 SPF (发件人政策框架) 和/或 DKIM(域名密钥识别邮件) 检查的传入电子邮件。
Example
DMARC:TXT 记录
v=DMARC1; p=none;
有三种 DMARC(基于域的消息验证、报告和一致性) 策略:
p=nonep=quarantinep=reject
p=quarantine 和 p=reject 指示接收电子邮件的服务器隔离该电子邮件,或者如果 SPF(发件人策略框架) 和/或 DKIM(域名密钥识别邮件) 检查失败,则忽略该邮件。
如果域名使用 DMARC(基于域的消息验证、报告和一致性) 并定义了这些策略之一,则域名必须符合 SPF(发件人策略框架) 或启用 DKIM(域名密钥识别邮件)。
Warning
Yahoo 或 AOL 是电子邮件提供商的例子,它们的 DMARC(基于域的消息验证、报告和一致性) 策略设置为 p=reject。Odoo 强烈建议数据库用户不要使用 @yahoo.com 或 @aol.com 地址。这些电子邮件将永远无法送达收件人。
p=none 用于域所有者接收关于使用其域的实体的报告。如果 DMARC(基于域的消息身份验证、报告和一致性) 检查失败,则不应影响送达率。
DMARC(基于域的消息身份验证、报告和一致性) 记录由 DNS(域名系统) 记录形式的标签组成。这些标签/参数可用于报告,如 RUA(汇总报告的报告 URI) 和 RUF(取证报告的报告 URI) ,以及更精确的规范,如 PCT(被过滤邮件百分比) 、 P(组织域策略) 、 SP(OD 子域策略) 、 ADKIM(DKIM 对齐模式) 和 ASPF(SPF 对齐模式) 。为获得最佳实践, DMARC(基于域的消息验证、报告和一致性) 策略一开始不应限制性过强。
下图显示了可用的标签:
标签名称 |
目的 |
示例 |
|---|---|---|
v |
协议版本 |
|
pct |
被过滤信息的百分比 |
|
ruf |
取证报告的报告 URI |
|
rua |
汇总报告的报告 URI |
|
p |
组织域政策 |
|
sp |
OD 子域策略 |
|
adkim |
DKIM 对齐模式 |
|
aspf |
SPF 对齐模式 |
|
使用 MXToolbox DMARC 等工具检查域名的 DMARC (基于域的消息身份验证、报告和一致性) 记录。
SPF,DKIM和DMARC常见提供商的文档¶
要全面测试配置,请使用 Mail-Tester 工具,该工具可在一封电子邮件中提供内容和配置的完整概览。Mail-Tester 还可用于为其他不太知名的提供商配置记录。