我嘗試驗證的電子郵件和我有一些困難:的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