背景
我有一个 VPS,一个外部 IP 托管 <10 个域 (DOMAIN.TLD)。每个域都接收和发送电子邮件。每个域都有关联的 DKIM / SPF / MX 条目。PTR 记录存在并与 VPS 上的主域 (MAINDOMAIN.TLD) 相关联。
问题
一些收件人的邮件最终被归类到垃圾邮件文件夹 (yahoo),而其他收件人 (outlook) 根本收不到邮件。Gmail(以及托管在不同托管服务提供商(如 one.com)上的其他电子邮件)会立即收到收件箱。
不清楚如何配置与电子邮件相关的每个域 DNS。
我目前所做的
最初(未经测试的域名仍然有),每个域名都有一个 A 记录(mail.domain.tld)和一个指向 A 记录的 MX 记录,但没有与 VPS IP 关联的 PTR。电子邮件发送正常,但我遇到了问题 #1
A -> MAIL -> VPS_IP
MX -> 10 -> MAIL.DOMAIN.TLD.
在找到并设置了 PTR 记录(这是某些电子邮件服务器忽略我的电子邮件,从而无法收到它们的主要原因)后,我考虑将每个域 MX 记录指向由 PTR 解析的域(MAINDOMAIN.TLD -> VPS_IP)。我尝试使用 CNAME 指向,然后直接使用 MX 指向。
CNAME -> MAIL -> MAINDOMAIN.TLD.
MX -> 10 -> MAIL.DOMAIN.TLD.
进而
MX -> 10 -> MAINDOMAIN.TLD.
在这两种情况下,我都遇到了与问题 1 中描述的相同的情况。
问题
- 设置有什么问题?
- 解决这个问题的最佳方法是什么 - 让所有域名都使用 MAINDOMAIN.TLD 作为 MX(通过 CNAME 还是直接?)或让所有域名都使用自己的域名作为 MX?(我认为第一种方案可行,因为 PTR 记录和我只有一个外部 IP 地址 - 但我不明白为什么它不起作用)
- 是否有任何免费且可靠的(想要太多?)外部电子邮件提供商可以处理电子邮件发送,而不必自己处理?
可能相关的其他信息
- 我如何知道 DNS 记录符合我的描述 - 使用 Linux CLI 工具,如 host、dig、nslookup +https://mxtoolbox.com/
- 我使用 ISPconfig3 作为托管控制面板
- VPS 是从 DigitalOcean 购买的,DNS 管理在 DigitalOcean 仪表板上完成
- SMTP 服务器是 postfix
- 我的 IP 不在黑名单中 - 已检查 https://mxtoolbox.com/SuperTool.aspx?action=blacklist ; mail-blacklist-checker.online-domain-tools.com/
- /var/log/mail.log 中没有任何相关内容 - 显示电子邮件正在发送,但没有任何与答案相关的内容
答案1
简单又好的方法
聘请好的邮政局长和主机管理员,他们可以快速轻松地修复你所有的新手错误(很多)
艰苦而光荣的道路
RTFM,成为称职的邮政局长和寄宿管理员,并做到正确的事情(tm)
您当前的(相关和不相关的)错误
- 绝不仅将 MX 指向 CNAME
@ MX mail mail CNAME some.name
不好
@ MX mail mail A some.ip.here
很好,即使some.ip.here
在您的所有域之间共享
MX 配置(任何)与您的无法送达的电子邮件无关:极度偏执检查(但仍然符合 RFC 规范)域名的 MX 只需:1)必须存在 2)可解析为可路由的 IP
接收方的所有 IP 相关测试包括(AFAICR,我已经很久没有从事*master 业务了),最大程度上(我在我的 MX 上做过):
- 纯 hostmaster 区域:对连接的 IP 进行偏执的 IP 检查(IP1-主机名-IP2),所有解析都必须成功,并且 IP1=IP2
- 2 个区域混合:EHLO(HELO)参数(SMTP 相关配置)中的主机名必须可解析(DNS 游戏)(可解析为任何真实 IP,也符合 RFC 标准)并且能与电子邮件域名或发送者的主机名没有任何关联(但在当前不规范的世界中,使用 VPS 的主机名会更安全)
- 垃圾邮件过滤可能是内容分析的结果,与您的 DNS 设置无直接关系
答案2
考虑像 MimeCast 这样的邮件过滤公司 - 他们需要为数千个域发送和接收邮件。您的问题是他们设置的一个小版本。
每个 MX 都可以顺利指向 maindomain.tld,它们不需要针对每个域进行个性化/更改。您必须遵循 MX 记录的标准,众所周知,该标准不允许 CNAME。
每个 SPF 记录必须在各方面都是正确的,并且可以包含声明
include:maindomain.tld
。让 maindomain.tld 的 PTR 记录正确引用用于发送邮件的 A 记录(例如 mail.maindomain.tld)是合理的。
所有邮件服务器都应配置为在 EHLO 中以上述主机名宣布自己。
答案3
那么如何成为一名优秀的邮政局长/主持人?到目前为止,我所阅读和最后所应用的是最佳实践 — 在这种情况下,我希望您能指出您所指的 FM。
对于我的问题 1) 和 2) 以及您的建议: 1) 在您回答之前我已经更正了,我只是解释了我尝试过的方法 2) 是的,它存在并且可以解析 3) EHLO 中的主机名是可解析的,并且与服务器主机名相同。 4) 尝试了很多文本变体 - 这不是问题。
第三个问题 免费解决方案包括ZohoMail和Yandex 付费解决方案有很多,但从财务角度来看确实没有意义。
结论 我有正确的配置/DNS设置,但问题在于微软的邮件过滤和域名刚刚创建的事实(影响DNS传播+检查域名年龄的过滤器)