我正在尝试使用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)
答案 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,拒绝地址)。
我快点写了这个,所以可能会有一些不必要的步骤。