Ich muss eine Menge E-Mails, Tausende von E-Mails überprüfen. Ich benutze smtplib
, um es zu tun, und ich habe ein Problem. Es dauert zu viel Zeit (obwohl ich Multiprocessing und wie üblich 32 Prozesse verwende). Und manchmal habe ich einen Fehler bei einer E-Mail (Timeout) oder einen anderen Fehler und ich nehme kein Ergebnis dafür. Aber wenn ich es erneut ausführe, erhalte ich keinen Fehler, aber kann Fehler für eine andere E-Mail bekommen. Was mache ich falsch in meinem Code und wie kann ich das verbessern, um mehr Genauigkeit und weniger Fehler zu haben?Python: wie check E-Mails mit smtplib schneller
def check_email(email, mxRecord):
time.sleep(2)
host = socket.gethostname()
try:
server = smtplib.SMTP()
server.set_debuglevel(0)
addressToVerify = email
server.connect(mxRecord)
server.helo(host)
server.mail('[email protected]')
code, message = server.rcpt(str(addressToVerify))
server.quit()
if code == 250:
res_email = email
res = str(num) + ' ' + str(res_email)
print res
return res
else:
continue
except:
continue
Was 'Name = 'daemon'? –
die deamon von theading do import threading ein deamon wird gestartet, um jede e-mail zu prüfen, mxRecord – minime
Ich benutze 'multiprocessing' um parallel zu arbeiten. Oder ist es etwas anderes? –