Come ottenere la risposta del server dopo aver inviato una posta utilizzando SMTPLIB SMTP.Sendmail
Domanda
Ho un programma per inviare posta utilizzando Python Smtplib. Ho la parte di invio della posta funzionante, ma devo anche acquisire il messaggio di restituzione del server dopo l'invio di una posta. Ad esempio, Postfix restituisce il seguente messaggio dopo che una posta è stata coda:
reply: '250 2.0.0 Ok: queued as EB83821273B\r\n'
reply: retcode (250); Msg: 2.0.0 Ok: queued as EB83821273B
data: (250, '2.0.0 Ok: queued as EB83821273B')
Ciò che sono veramente interessato è il codice di errore (250) e l'ID coda (EB83821273B). Posso stamparli se imposta set_debuglevel (1), ma devo acquisirlo in una variabile per ulteriori registrazioni ed elaborazioni.
grazie e saluti,
Raj
Soluzione
Se stai usando il inviare una mail metodo su un SMTP
istanza, quindi tornerà
Un dizionario, con una voce per ogni destinatario che è stato rifiutato. Ogni voce contiene una tupla del codice di errore SMTP e il messaggio di errore di accompagnamento inviato dal server.
Se usi il Docmd metodo sulla stessa classe, tornerà
Un 2-tuplo composto da un codice di risposta numerico e dalla riga di risposta effettiva (le risposte multiline sono unite in una linea lunga.)