我尝试验证的电子邮件和我有一些困难:的Python:使用到的smtplib邮件验证
我经常看到一些错误,例如
dns.resolver.NoAnswer: The DNS response does not contain an answer to the question: siemens.ru. IN MX
是什么意思?我无法检查电子邮件或其他?或者我应该再试一次?
smtplib.SMTPServerDisconnected: Connection unexpectedly closed
有没有办法解决这个问题?它经常出现。
dns.resolver.NXDOMAIN: None of DNS query names exist: aruanaestetik.com., aruanaestetik.com.
如果我得到这个错误,我应该跳过这个域的电子邮件,对吧?
另外,当我尝试获得mxrecords,有时他们的数量不止一个。我应该使用它的每一个来检查电子邮件或我可以使用一个随机的吗?
我用下面的代码来做到这一点:
resolver = dns.resolver.Resolver()
resolver.timeout = 60
resolver.lifetime = 60
mx_records = resolver.query(dom, 'MX')
mxRecord = str(mx_records[0].exchange)
host = socket.gethostname()
server = smtplib.SMTP()
server.set_debuglevel(0)
server.connect(mxRecord)
server.helo(host)
server.mail('[email protected]')
code, message = server.rcpt(str(addressToVerify))
server.quit()
也只说明了我的邮件在server.mail()
,但我尝试登录那里和检查电子邮件后,却没有得到任何结果,所以我登出。为什么会发生?
感谢您的解释。但是“A记录”是什么? –
而且有什么方法可以用'smtplib.SMTPServerDisconnected:连接意外关闭'“打”? –
@PetrPetrov“A”记录是一种将名称映射到IP ** A **地址的DNS记录,更准确地说是IPv4地址。相应的IPv6“A”记录被命名为“AAAA”。 [https://en.wikipedia.org/wiki/List_of_DNS_record_types] – VPfB