2011-05-30 163 views
0

PS:我不是垃圾邮件发送者和没有我的应用程序。PHP/Ruby on Rails的SMTP电子邮件验证或检查邮件交付或不

我有一个数以千计的电子邮件地址的列表,我想测试它的天气有效的电子邮件地址或不使用SMTP。

我得到了一些代码http://code.google.com/p/php-smtp-email-validation/,但我怀疑这会阻止/ blaklist我的IP /服务器。

我已经检查了一堆关于stackoverflow的相关问题。但是没有人为此提供适当的解决方案。因为有很多公司提供这些服务。他们如何管理这些东西?

我愿意像蟒蛇等其他平台

编辑

我能理解有不检测邮件的确切方式传送出去与否。但有一些50-90%的概率是否有任何方法可以检查邮件是否已经在rails上交付。

+0

您尝试使用的课程无法正常工作。许多邮件服务器仍然使用灰名单,其中前几个发送尝试导致错误代码(您必须运行2到3次,暂停以获得明智的结果)。不能说任何关于黑名单的概率。 – mario 2011-05-30 12:14:16

+0

@mario那么最新的解决方案.. – 2011-05-30 12:17:48

回答

0

这是不可能的。在这个宇宙中,现在绝对有办法可以知道消息已经传递或没有传递。

一些协议,如X400努力给予交货单, 不幸的是总有一些情况下,当他们失败。

因此,SMTP等Internet协议甚至不尝试。他们 尽最大努力使其工作,但提供不保证,并且最重要的是,他们不保证任何反馈。

发送消息时,涉及到很多实体。你,你的UA,你的MTA,可能是一些中介MTA,收件人MTA, 收件人UA,收件人。那么,不完全是。有 是你方有多个邮箱的机会,他 使用Web服务来收集电子邮件从他的几箱收集 成一个单一的UA,所以它可能是这样的:你,你的UA,您的MTA, 可能是一些中介MTA,收件人MTA,收藏者UA,收藏者MTA ,实际收件人MTA,实际收件人UA,收件人 。在这些实体的每一个之间,可能有一些积极或消极的承认水平。但就是这些。 实体N将知道该消息已被实体N + 1接收,链接为 ,但随后通信被关闭,并且它不会知道什么是 发生,以及在实体N + 1和N + 2之间何时发生。如果有一个 问题有些运气,MTA可能会向 发件人发送错误消息,但由于SPAM 和病毒,这不一定会做太多。嗯,最终,你的信息可能会到达最终收件人的UA。 在那里,可能会做出一些事情来通知它已经收到, 或甚至可能显示,在消息中带有一些非标准化标题 的装置。某些UA可以轻松配置以插入这些标头,并遵守或不遵守。隐私和垃圾邮件/病毒savil 用户将不会激活此功能(它允许地址收集到 很容易验证一个电子邮件地址转售给垃圾邮件发送者),所以 你会得到一个实际答案的概率将非常低 (除非你正在发送电子邮件到dumbasses)。

但即使此功能已激活并且运行良好,您收到由收件人的UA发送的消息告诉您 您的电子邮件已显示的消息的事实并不能证明任何事实。值得注意的是, 并不能证明你的邮件已经被收件人查看过,更不用说他已经阅读过了,更不用说他已经理解了!

总之,您可以在技术上确定您的消息已发送到链中的第一个实体 。就这样。从那里 上,玩它会被接收,阅读和理解。

如果您想确定邮件是否已发送,您必须 使用更高级别的协议。举例来说,如果你问 电子邮件期待一个答案A1或A2回答一个问题,你有四个 可能性:

  • 你得到答案A1。 您可以假定邮件已发送并阅读。 但它被理解了吗?真的A1是收件人发送的答案吗?

  • 你会得到答案A2。 您可以假定邮件已发送并阅读。 但它被理解了吗?真的是A2接收者要发送的答案吗?

  • 你得到一个答案A3。 您可以假设邮件已发送,阅读并且无法理解。

  • 你在某些延迟中没有得到答案。 你不能承担任何事情。尝试发送另一封电子邮件,引出答案。 如果你仍然没有得到实际通信的确认 尝试给收件人打电话。或亲自见面。或者打在他面前 。如果你仍然没有得到任何答案,你可以考虑你的 收件人昏迷或死亡,并假设该消息不通过。(有人认为值得与昏迷中的某人 联系,但我相信这只是刺激他们的大脑才好,你不能期望答案,他们不会开始回答你的积压讨论,当他们苏醒)。

0

作为SMTP事务的一部分,发送SMTP服务器会发出RCPT命令指示的消息应交付的电子邮件地址。如果指定的收件人是已知的不是一个递送地址

一个SMTP服务器可与代码550在该点做出响应。这只适用于接收处理已知有限收件人列表的SMTP服务器。

如果为给定域设置了“全部收件人”地址,这样无论给定地址是否存在电子邮件帐户,都将接受*@example.com,您永远无法验证给定的地址实际上是有效的。

因此,没有办法一致验证使用SMTP的电子邮件地址的有效性。您可能能够验证某些电子邮件地址是否无效;你永远不能认为缺乏无效意味着有效性。

+0

那么吨提供这种服务的电子邮件营销公司呢?他们到底在做什么? – 2011-05-30 12:22:07