【发布时间】:2019-05-02 19:56:57
【问题描述】:
我正在尝试通过首先解析其 dns 来验证电子邮件是否确实存在,然后使用以下代码检查电子邮件是否有效:
email = test@cisco.com
domain = email.split("@")[-1]
records = dns.resolver.query(domain, 'MX')
mxRecord = records[0].exchange
mxRecord = str(mxRecord)
server.connect(mxRecord)
server.helo(host)
server.mail('myemail@gmail.com')
code, message = server.rcpt(str(email))
server.quit()
if code == 250:
print('valid email', message)
else:
print('invalid email', message)
这工作了几次,但是当我发送多个请求时,我收到如下消息:
"5.7.1 服务不可用,客户端主机 [122.166.xxx.xxx] 被阻止使用 垃圾屋。要请求从此列表中删除,请参阅 http://www.spamhaus.org/lookup.lasso (AS160312312) [BL2NAM02FT12312.eop-nam02.prod.protection.outlook.com]'"
我了解他们正试图阻止我的 IP 地址,因为它认为它是垃圾邮件。
这是我的问题:
- 是否有正确的方法来进行这种类型的电子邮件验证,而不会被标记为垃圾邮件?它是否被标记为垃圾邮件,因为我在我的系统上运行代码并且只是为电子邮件提供一个虚拟值,例如
server.mail('myemail@gmail.com')
- 是否可以使用一些代理来执行此操作?我的用例需要验证 100 个电子邮件地址。我看到一些商业 api 可用于电子邮件验证,但目前对我来说不可行。
【问题讨论】:
-
您找到任何解决方案了吗?
-
没有很好的方法来做到这一点,原因很简单,如果世界上的邮件服务器要响应这样的查询,他们会被垃圾邮件发送者淹没,以至于他们没有能力做有用的工作.
标签: python smtp email-validation spam-prevention email-spam