Ich muss E-Mails programmgesteuert überprüfen. Ich verwende diesen Code:Python: Mail mit smtplib überprüfen und Fehler behandeln
resolver = dns.resolver.Resolver()
resolver.timeout = 3
resolver.lifetime = 3
mx_records = resolver.query(domain, 'MX')
for mxRecord in mx_records:
mxRecord = str(mxRecord.exchange)
host = socket.gethostname()
server = smtplib.SMTP(timeout=30)
server.set_debuglevel(0)
addressToVerify = var0
server.connect(mxRecord)
server.helo(host)
server.mail('[email protected]')
code, message = server.rcpt(str(addressToVerify))
server.quit()
res_email = 'Not Found'
if code == 250:
result = 'Success'
else:
print "doesn't exist"
ich einen Fehler empfangen, wenn ich diesen Code ausführen:
Connection unexpectedly closed
Connection unexpectedly closed: [Errno 10054]
[Errno 10061]
Ich habe versucht, Werte von Timeout zu ändern, aber es hat nicht geholfen. Ich habe dann versucht, den Port in smtplib.SMTP()
anzugeben, aber angegeben, und das Problem wurde nicht behoben.
Wie kann ich dieses Problem lösen?
Sie möchten an einen bekannten Server senden oder von diesem empfangen, für den Sie ein legitimer Benutzer sind? –
@BillBell Ich brauche nur E-Mails zu überprüfen –
SMTP ist das sendende Protokoll. Sie benötigen entweder poplib oder imaplib in Python, abhängig davon, ob Ihre E-Mail POP3 oder eine Variante von IMAP ist. –