在尝试使用Python验证电子邮件时被Spamhaus阻止

时间:2018-06-05 17:23:05

标签: python smtp

我正在尝试使用Python的smtplib检查电子邮件是否存在

这就是我所做的:

s = smtplib.SMTP()
s.connect(mxRecord) 
s.mail('my@email.com') //Here the error shows up

错误是: 使用Spamhaus阻止了客户端主机[]。要请求从此列表中删除,请参阅http://www.spamhaus.org/lookup.lasso(S3130)

1 个答案:

答案 0 :(得分:0)

我尝试了一些东西,效果很好。

import dns.resolver, smtplib
MyEmail = "X@hotmail.com"
MyPassword = "XXX"
EmailToValidate = "X@Y.com"

record = dns.resolver.query(str.split(EmailToValidate, "@")[1], "MX")
mx = str(record[0].exchange)

server = smtplib.SMTP("smtp.live.com", 587)
server.ehlo()
server.starttls()
server.ehlo()
server.login(MyEmail, MyPassword)
server.helo("live.com")
server.connect(mx)
server.mail(MyEmail)

code, msg = server.rcpt(EmailToValidate)
print("Code: ", str(code), " message: ", msg)

如果电子邮件存在,(代码,消息)对将是(250,OK),如果电子邮件不存在,则(550,拒绝地址)。

我快点写了这个,所以可能会有一些不必要的步骤。