我的服务器是 windows server 2003。我有大量的订阅者。他们中的许多人都有无效的电子邮件,例如 [email protected]、[email protected]、[email protected] ...
我想向我的所有用户发送一封电子邮件,但它也会发送给那些无效的电子邮件。因此,它将创建退回电子邮件。如何处理这些退回邮件?我可以遵循任何好的教程吗?
我的服务器是 windows server 2003。我有大量的订阅者。他们中的许多人都有无效的电子邮件,例如 [email protected]、[email protected]、[email protected] ...
我想向我的所有用户发送一封电子邮件,但它也会发送给那些无效的电子邮件。因此,它将创建退回电子邮件。如何处理这些退回邮件?我可以遵循任何好的教程吗?
在我的公司,我们有一个用 .NET 编写的小工具,使用名为ListNanny的第 3 方组件。
Badmail
它用于对 SMTP文件夹或 NDR(不可送达报告或不可送达收据)中的退回电子邮件进行分类和解析。您必须注意有多种类型的 NDR,并且您必须在每种情况下决定如何处理邮件列表中的特定地址。主要区别是“硬反弹”与“软反弹”。硬退回是永久性错误,例如“未知用户” - 软退回是暂时发生的,例如“邮箱已满”等。
以下是可以解析的示例:
虽然可以将您的 NDR 发送到邮箱并在我公司从那里清除东西,但我们使用第三方工具在发送给他们之前检查我们的邮件列表的有效性。它有助于减少我们生产的 NDR 的数量(显然它并不完美 - 没有什么是完美的),但它确实有很大帮助。
该程序是 GLock Softwares Advanced E-Mail Verifier Pro,它的价格为 99 美元,这对于它所做的工作来说很便宜。
恕我直言,最好不要首先生成 NDR,而不是必须处理它们。
这在很大程度上取决于您使用的邮件程序。从你的另一个问题我想你不知道那到底是什么。如果您知道您将处理大量未送达报告(电子邮件术语中的 NDR),那么请将您的 From: 地址设置为可以增长到非常大的邮箱。然后,您大概可以通过它并从列表中清除不良地址。不过,根据您的邮件程序是什么,您可能有更多选择。
CoverYourASP上有 Javascript ASP 源代码,其中包含指向描述性文章的链接。
这篇被黑的文章也可能是不错的阅读材料。
很好的简单 perl 模块来涵盖这一点:Email::Valid “这个模块确定电子邮件地址是否格式正确,并且可选地,是否存在域的邮件主机。”
然而,它并没有以任何方式测试它的可交付性。
您应该考虑处理退回的电子邮件,并使用处理结果相应地更新您的电子邮件地址。这意味着您不会多次向错误的电子邮件地址发送邮件,并且您还应该能够管理常见的情况,例如由于收件人邮箱已满而被退回的邮件。一个免费并使用 php 的简单解决方案是:
http://phpmailer.worxware.com/index.php?pg=bmh