я стараюсь, чтобы проверить электронную почту, и у меня есть некоторые трудности: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 record'? –
И любой способ «сражаться» с «smtplib.SMTPServerDisconnected: соединение неожиданно закрыто»? –
@PetrPetrov Запись «A» - это тип записей DNS, сопоставляющих имя с его IP ** A ** ddress, точнее IPv4-адрес. Соответствующая запись IPv6 «A» называется «AAAA». [https://en.wikipedia.org/wiki/List_of_DNS_record_types] – VPfB