确定电子邮件地址的健康/有效性

时间:2009-02-02 19:54:35

标签: algorithm language-agnostic email maintenance verification

网站上的日常维护通常涉及验证链接是否有效,标记不良链接等。

我知道如何通过脚本匹配电子邮件地址(特别是在他们位于mailto:链接的网页的上下文中)。我的问题是如何在不发送垃圾邮件的情况下验证它们是否正常?

剥离域并验证它正在侦听端口25是部分答案,但不处理验证用户名/别名。

有没有办法将此添加到我管理的网站的维护脚本中?

我真的不在乎它用什么语言写,只要它起作用:)

4 个答案:

答案 0 :(得分:8)

SMTP曾经有一个'VRFY'命令,它询问服务器是否认为用户名有效。现在每个人都会关闭它,以防止发送垃圾邮件。

以前也可以开始发送电子邮件,“MAIL FROM:...”,“RCPT TO:...”,如果地址不是,接收服务器会在RCPT TO之后立即通知您没有任何好处。这也不行了。

这是一种长篇大论的说法,“不,我认为没有办法做到这一点,没有实际发送电子邮件。”

答案 1 :(得分:3)

同意Jay: 为完成这项特殊工作而构建的所有漂亮功能通常都会被关闭......

唯一的方法是向该地址发送电子邮件;即便如此,你也不是百分百肯定的。

  • 那个地址可能是垃圾;没人在检查它。
  • 邮箱已满(暂时?),您将获得DSN
  • SMTP服务器故障/中断

恕我直言,继续检查域名(如果您不想被列入黑名单,请轻松连接)和反垃圾邮件工具(如akismet / spamhaus)来过滤用户提交的内容。

答案 2 :(得分:1)

这取决于您需要它的准确程度,因为之前的答案表明您可以通过脚本使用SMTP服务器界面。然后它只是如此准确,即使您发送电子邮件它可能不是100%准确,一些SMTP服务器可能接受该电子邮件,但然后丢弃它,或者某些电子邮件地址可能不被使用,但仍然接受邮件。 / p>

没有替代手工操作,您只能通过自动化达到一定的置信水平,但不能达到100%。

答案 3 :(得分:0)

更好的方法是等到您有正常的电子邮件发送到订阅列表,并在其中包含一个请求,以便任何想要留在列表中的人在合理的时间段内填写表单。之后,您可以假设那些没有回复的人不再需要邮件并将其删除。