我正在尝试实施(或确保我正确遵循)电子邮件发送最佳实践以提高传递率,但 smtp 服务器的主机名与电子邮件From:
地址的域名的作用似乎尚不清楚,即使阅读了数十个人的文章/输入。
具体来说,我理解,为了满足反向 DNS 检查,发送机器的 IP 地址必须有一个 PTR 记录,该记录产生的域名与发送机器/SMTP 服务器的主机名相匹配。有人说它需要与“hostname”命令给出的那个匹配,大多数人说它是 HELO/EHLO 语句提供的那个,还有这家伙甚至说它们必须相同(根据/强制什么,我不知道;无论如何,这只是一个小小的混淆点)。
首先,我找不到的是电子邮件地址的域名是否From:
需要与 SMTP 服务器的域名匹配。
就我而言,我有一个带 linode 的 VPS。它主要托管我的一个特定域,example.com
但有时我也从事其他项目:foo.com
和bar.com
。
所以我想知道我是否可以保留默认的 linode PTR 记录(解析为abc.def.linode.com
),确保这abc.def.linode.com
是我的邮件服务器(qmail)在 HELO 上配置的内容,然后继续使用它来发送电子邮件example.com
,foo.com
等。
如果是这样,那么我对给出的建议感到困惑这里,具体来说(在列表中最坏的情况):
HELO 命令中使用的域没有 SPF 记录
为什么该域需要 SPF 记录?如果需要,它应该为哪个域提供白名单:HELO 域,还是发件人:电子邮件地址(信封发件人)的域?此外,哪个域需要接受发送到的邮件[email protected]
?
如果域必须相同,这对我来说似乎相当局限,因为对于您想要发送电子邮件的每个域,您都必须为其获取另一个 IP 地址。这还会损害或破坏一个人相对匿名地执行非电子邮件发送操作(例如 wget)的能力。但是,好处是——如果是这样的话——它将使设置变得不那么令人困惑。
我目前正在使用linode.comSMTP+PTR 域和示例.com From:
地址组合,没有太多可传递性问题,但我的量很低,我想知道是否有人有处理大批量邮件的经验,并专门测试过差异和/或有内部知识和/或对这个特定问题有权威答案(和来源)。我很乐意澄清任何事情,请告诉我。提前谢谢。
答案1
注意:本文中有一些主观的言论。你可以忽略它 :)
好吧,我们讨论的是电子邮件,所以我们应该首先说,根本没有办法保证邮件的可传递性。SMTP 是在更安静、更信任的时代设计的。从那时起,许多人实施了他们认为是垃圾邮件的最终解决方案,结果却惊讶地发现它没有奏效;或者垃圾邮件发送者已经找到了如何击败它的方法;或者它依赖于每个人这样做是有效的。(或许多其他原因)。我们现在所拥有的是分裂的系统和半实施的想法,这意味着几乎不可能确保您的信息将会传达。
我的观点是,大多数最佳实践应该围绕接收电子邮件,而不是发送它。作为发件人,确保它符合收件人所采取的任何随机措施不是你的工作。他们的工作是确保他们的过滤不会根据对邮件应该是什么样子的假设而阻止合法邮件;其中许多假设没有充分考虑到邮件可以路由和传递的有趣方式。
首先,我无法在任何地方找到发件人:电子邮件地址的域名是否需要与 SMTP 服务器的域名匹配。
原则上,不是。MTA 会从与其自身域无关的地址发送邮件有很多正当理由。您可能会遇到因为这个原因而拒绝您的邮件的系统,但是这不是你的问题。让您的 PTR 记录与您的域名匹配,并且让 HELO 公告至少在 TLD 上与之匹配,这不会有什么坏处;但是任何纯粹因为域名与From:
PTR TLD 不匹配而拒绝的东西都是破碎的。
如果是这样,那么我对这里给出的建议感到困惑,具体来说(在列出不好的情况的情况下):
HELO 命令中使用的域没有 SPF 记录。
SPF 记录是另一种“原则上听起来正确”的想法(参见这里另一个关于这个主题的长篇大论)已经引起了很大的关注。对我来说,主要问题是许多 MTA 不公平地惩罚那些根本不发布任何 SPF 的域名。再次强调,这不是你的问题。
话虽如此,我还是为我们的域名设置了一个,因为这样做不是为了太频繁地与客户系统管理员发生冲突。这最终是一个政治决定,而不是技术决定。
如果你要使用 SPF,并将 PTR 和 HELO 保留为abc.def.linode.com
; 那么 SPF 记录全部您的From:
域应该将该服务器列为发件人。如果您无法控制foo.com
DNS bar.com
,则必须与可以控制 DNS 的人联系。
我目前正在使用 linode.com SMTP+PTR 域和 example.com From: 地址组合,没有遇到任何传递问题
你也不应该。如果你发布了 SPF,而linode.com
服务器没有列出,那么你的邮件就会被大量退回。但是,如果你列出了它,或者它example.com
根本没有发布任何 SPF 记录,那么你应该没事。(我重复我之前的观点,MTA 因为没有发布 SPF 而拒绝邮件,这是有问题的,可能会退回很多合法邮件)。
答案2
- 发件人:地址中的域不需要与 SMTP HELO 对话框中的域(如果有)匹配。 SMTP HELO 有特定用途。
- 似乎有些接收服务器要求您的域使用 SPF。但这不是强制性的。但是,对于接收端的策略和错误配置,您无能为力。如果您想发布 SPF 记录,它们应该适用于发送域,并包括您正在使用的 linode 服务器。
答案3
许多大型邮件提供商(Google 就是明显的例子)发送的邮件From
标题中的地址域名与 PTR 记录不匹配,任何强制(某种)匹配这两个标记的提供商都可能会拒绝大量有效电子邮件。因此,电子邮件From:
地址的域名不需要与 SMTP 服务器的域名匹配。
我强烈建议确保 PTR 记录与服务器宣布的名称相匹配HELO
;垃圾邮件过滤器之所以会过滤这一点,是因为它们几乎肯定没有理由不是<qmail-control-dir>/helohost
以匹配。如果需要覆盖,您可以在 中明确设置<qmail-control-dir>/me
。