How to get server reply after sending a mail using smtplib SMTP.sendmail
I have a p开发者_开发技巧rogram to send mail using python smtplib. I have the mail sending part working fine, but I also need to capture the server return message after a mail has been sent. For example postfix returns the following message after a mail has been queueed:
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')
What I am really interested is the error code (250) and the queue id (EB83821273B). I can print these if I set set_debuglevel(1), but I need to capture this in a variable for further logging and processing.
thanks and regards,
raj
If you are using the sendmail method on an SMTP
instance, then it will return
a dictionary, with one entry for each recipient that was refused. Each entry contains a tuple of the SMTP error code and the accompanying error message sent by the server.
if you use the docmd method on the same class, the it will return
a 2-tuple composed of a numeric response code and the actual response line (multiline responses are joined into one long line.)
精彩评论