验证电子邮件地址(不仅仅是语法)

验证电子邮件地址(不仅仅是语法)

Ubuntu 中是否有任何软件可以验证电子邮件地址(不是语法,电子邮件是否存在)。我需要一个软件或脚本或任何东西来检查电子邮件地址是否存在(不是电子邮件语法)。

答案1

如果您确实需要验证地址是否有效,则需要发送一条消息并获取适当的响应。这通常是通过嵌入一个完成地址验证的网页链接来完成的。

在实际交货之前验证地址可能是不可靠的。

  • 许多服务器会检测主机正在验证地址并开始伪造结果,或开始将其电子邮件归类为垃圾邮件。
  • 其他网站接受发往其域名的所有邮件,并直接丢弃无效地址。丢弃地址与真实地址的比率可用于将发件人归类为垃圾邮件发件人。

检查地址的域部分是否具有 MX 是一种很好的有效性检查方法。一些有效的电子邮件地址可能具有 A 记录而没有 MX 记录,但大多数这些域都是无效的。可以验证地址的用户部分的语法。简单的语法检查在大多数情况下都有效,特别是如果您限制仅接受地址的路由部分。像这样的地址更难处理。"Some user" <someuser!host#[email protected]>

我已经对用户的电子邮件地址运行了定期验证脚本。它通过连接到邮件服务器并验证收件人来进行验证。这是通过来自受信任域的一组有限的域完成的。某些域必须作为特殊情况处理,因为它们会产生很高的误报率或漏报率。无论哪种情况,都会禁用该域的验证调用。

答案2

apt-cache search email | grep verify返回libmail-verify-perl

安装后,请查看手册页了解详细信息,应该正是您所需要的。

答案3

为了验证电子邮件收件人是否真的存在,您必须向服务器发送一条消息,如果没有收到回复则表明用户存在​​,否则您将收到带有错误消息的电子邮件。

没有其他方法可以做到这一点,因为有太多的邮件服务器,即使一个服务器支持此选项,也不意味着所有服务器都支持。

你无能为力 :(

有一些脚本(如您所知)可以验证语法并强制您仔细检查,但真正的验证是以发送到该地址的电子邮件的形式进行的,以验证它是否存在并验证用户是否输入了自己的电子邮件地址。

当然您可以使用一个库来检查服务器是否存在(比如 libmail-verify),但检查用户是否存在则是另一个问题。

相关内容