通过 DNS 查找验证电子邮件地址的域部分

Validation of domain part for email addresses through DNS lookup

我正在使用不允许高跳出率的 Amazon SES。当用户发生大量退回邮件时,他们将暂停发送电子邮件。所以我想尽可能降低跳出率。

所以,这是我的问题:查找目标地址域部分的 DNS MXA 记录是否是个好主意(例如 example.com)在发送之前对每封电子邮件进行处理? 这种方法是否有不良副作用?或者您还有其他更好的典型方案吗?

关于我的情况的更多信息

有时我的客户会输入错误的地址。例如,当他们似乎想输入 jane.doe@example.com 但有时会出错,例如 jane.doe@example,其中 .com 部分被遗漏了。

在这种情况下,退回邮件将在 840 分钟后返回,因为 SES 保留目的地为 jane.doe@example 的电子邮件,可以说永远不会成功发送。

问题是,SES 保留了 840 分钟之久的从未成功发送的电子邮件,之后电子邮件将作为退回邮件返回,所以我按照 https://sesblog.amazon.com/post/TxJE1JNZ6T9JXK/Handling-Bounces-and-Complaints 中解释实现的退回处理机制不能'不会立即得到任何反馈。最终,我收到了数千次硬退回,这让我的退回率更高了。

SES 具有处理退回邮件和投诉的机制,如您引用的 link 中所述。

您需要在首次提交时验证电子邮件:如果验证电子邮件被退回,则强制用户输入另一个电子邮件地址,并且不认为该帐户有效。您可以向域添加一些简单的验证,但请记住,有数百个新的顶级域,因此像 jane.doe@bank.investements 这样的电子邮件地址可能是有效的。

此外,查找 MX 记录也无济于事:大多数常见的 "typo" 域都可以,所以 jane@example.com 和 jane@exampl.com 可以可能都有 MX 记录。

更新:

请记住,电子邮件起源于 "store and forward":并非每个域都应该随时可用。因此,即使您的验证电子邮件也可能在几个小时内无法到达最终用户。这里的关键是您不应将电子邮件发送到未经验证的地址。如果你这样做,你可能会违反 SES 服务条款,但至少你打开了一个渠道让人们使用你的服务来惹恼别人,这会对你的跳出率产生负面影响。