Python - 验证电子邮件是不是存在

Posted

技术标签:

【中文标题】Python - 验证电子邮件是不是存在【英文标题】:Python - Validate Whether Email ExistsPython - 验证电子邮件是否存在 【发布时间】:2016-03-04 21:42:15 【问题描述】:

我正在使用 Python validate_email 库尝试一些电子邮件,它似乎具有三个功能:

1. is_valid = validate_email('example@example.com')

2. is_valid = validate_email('example@example.com',check_mx=True)

3. is_valid = validate_email('example@example.com',verify=True)

我真的很感激能解释一下每个人的确切作用。第一个总是给我True,第三个总是给None。提前谢谢!

附:如果有任何其他 Python 库可以做到这一点,我也很想知道这些。

【问题讨论】:

【参考方案1】:

validate_email 是 python 中的一个包,用于检查电子邮件是否有效并且确实存在。

check_mx=True

用于检查主机是否有 smtp 服务器,我的意思是是否有与 example.com 关联的邮件服务器。每家公司可能有也可能没有邮件服务器,如果有,那么您可能有。 user@somecompany.com,否则他们将使用 gmail 或 yahoo 等预邮件平台。如果 somecompany.com 有邮件服务器,无论是否有个人电子邮件地址,check_mx 都将返回 true 为该邮件服务器呈现。

verify=True

检查是否存在名为“example@example.com”的电子邮件地址,仅当两个条件都满足即 check_mx 条件和单个电子邮件地址条件时才返回 true。 希望这会有所帮助。

【讨论】:

所以 check_mx=True 检查域是否有 SMTP 服务器和 verify-True 检查特定的电子邮件? 是的,假设是 ex。您给 user@somecompay.com,其中公司“compay”本身的邮件服务器不存在,该方法返回 false。如果有邮件服务器,则返回 true。 verify 参数检查特定的电子邮件地址是否存在是 SMTP 邮件服务器,希望你能得到它 这很奇怪,因为当我说“is_valid = validate_email('help@google.com',verify=True)”时我得到 None 它返回true,运行它并检查。 check_mx example.com 是否有邮件服务器,即使没有 ghodsi@google.com 之类的特定地址,它也会返回 true。而 verify 检查是否有特定的电子邮件地址,例如 ghodsi@google.com。

以上是关于Python - 验证电子邮件是不是存在的主要内容,如果未能解决你的问题,请参考以下文章

我想验证给定的电子邮件地址是不是存在于贝宝中?我需要验证他们提供给我的贝宝电子邮件是不是存在?

验证 Django 中是不是存在电子邮件 [重复]

如何远程验证电子邮件或检查电子邮件是不是存在

我应该如何在 javascript 或 nodeJs 中验证电子邮件地址是不是存在和域名是不是存在?

如何验证输入电子邮件是不是已存在于数据库中?

通过与客户端 (MVC) 一起使用 Web API 中的操作来验证电子邮件是不是存在于数据库中并进行远程验证?