【问题标题】:Determining the health/validity of an email address确定电子邮件地址的健康/有效性
【发布时间】:2009-02-02 19:54:34
【问题描述】:

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

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

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

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

我真的不在乎它是用什么语言写的,只要它有效:)

【问题讨论】:

    标签: algorithm language-agnostic email maintenance verification


    【解决方案1】:

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

    过去也可以开始发送电子邮件,“MAIL FROM:...”,“RCPT TO:...”,如果地址不正确,接收服务器会在 RCPT TO 之后立即通知您没什么好处。那也不管用了。

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

    【讨论】:

    • 我在使用 VRFY 命令时遇到了一些运气,通常用于较小的站点。我认为谷歌会返回“尝试发送它”或类似的内容。
    • 毫无疑问,您在默认的反垃圾邮件防御措施中受到了阻碍。
    【解决方案2】:

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

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

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

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

    【讨论】:

      【解决方案3】:

      这取决于您需要它的准确程度,因为较早的答案表明您可以通过脚本使用 SMTP 服务器接口。那么它只是如此准确,即使您发送一封电子邮件,它也可能永远不会 100% 准确,一些 SMTP 服务器可能会接受该电子邮件,但随后将其丢弃,或者某些电子邮件地址可能未使用,但仍接受邮件。

      手工无法替代,您只能通过自动化达到一定的信心水平,而不是 100%。

      【讨论】:

        【解决方案4】:

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

        【讨论】:

        • @Ant P:这当然是个好主意,但与网站维护问题无关:)
        猜你喜欢
        • 2017-07-23
        • 2017-01-11
        • 1970-01-01
        • 2015-11-19
        • 1970-01-01
        • 2023-03-14
        • 2015-01-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多