如何处理无效的电子邮件地址?

如何处理无效的电子邮件地址?

我的服务器是 Windows Server 2003。我有大量订阅者。其中很多订阅者的电子邮件都是无效的,例如:[电子邮件保护][电子邮件保护][电子邮件保护]...

我想向所有用户发送电子邮件,但它也会发送给那些无效的电子邮件。因此,它将产生退回电子邮件。如何处理这些退回的电子邮件?有什么好的教程可以参考吗?

答案1

在我的公司,我们有一个小工具,用 .NET 编写,使用第三方组件,名为列表保姆。它用于对 SMTP 文件夹中的退回电子邮件Badmail或 NDR(无法送达报告或无法送达收据)进行分类和解析。

您必须注意,NDR 有多种类型,您必须根据具体情况决定如何处理邮件列表中的特定地址。主要区别在于“硬退回”与“软退回”。硬退回是永久性错误,如“未知用户” - 软退回是暂时发生的,如“邮箱已满”等。

以下是可以解析的示例:

  • 硬退回:服务器无法发送您的邮件(例如:未知用户、未找到邮箱)
  • 暂时:服务器暂时无法传递您的消息
  • 取消订阅:取消订阅或删除请求
  • 订阅:想要加入邮件列表的人的订阅请求。
  • 自动回复器:自动电子邮件回复器(例如:“外出”或“度假”)
  • AddressChange:收件人已请求更改地址。
  • DnsError:临时 DNS 错误。
  • ChallengeVerification:退回邮件是要求验证您是否确实发送了电子邮件的挑战。典型的挑战是由 Spam Arrest 或 MailFrontier Matador 发起的
  • SpamNotification:邮件已送达,但被用户阻止、被归类为垃圾邮件、群发邮件或包含被拒绝的内容。
  • OpenRelayTest:NDR 实际上是一个测试电子邮件消息,用于查看邮件服务器是否为开放中继。
  • 未知:无法对 NDR 进行分类
  • SoftBounce:无法暂时传递邮件(例如邮箱已满、帐户已禁用、超出配额、磁盘空间不足)
  • VirusNotification:退回实际上是有关病毒/代码感染消息的病毒通知警告。

答案2

虽然可以将 NDR 发送到邮箱并从中剔除,但在我公司,我们会使用第三方工具检查邮件列表的有效性,然后再发送给他们。这有助于减少我们生成的 NDR 数量(显然它并不完美 - 没有什么是完美的),但它确实有很大帮助。

该程序是 GLock Softwares Advanced E-Mail Verifier Pro,价格为 99 美元,对于它的功能来说比较便宜。

我认为最好一开始就不要生成 NDR,而不是处理它们。

答案3

这很大程度上取决于你使用的邮件程序。从你的其他问题我想你不知道那到底是什么。如果你知道你将处理大量未送达报告(电子邮件术语中的 NDR),那么请将你的发件人:地址设置为可以增长到非常大的邮箱。然后你大概可以检查一下,并从列表中剔除坏地址。不过,根据你的邮件程序,你可能有更多选择。

答案4

很好用的 perl 模块来解决这个问题:电子邮件::有效 “该模块确定电子邮件地址是否格式正确,并且可选地确定域中是否存在邮件主机。”

但它并没有通过任何方式测试其是否可交付成果。

相关内容