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