Come ottenere la risposta del server dopo aver inviato una posta utilizzando SMTPLIB SMTP.Sendmail

StackOverflow https://stackoverflow.com/questions/3820603

  •  26-09-2019
  •  | 
  •  

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

È stato utile?

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.)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top