#17498: Defer SMTPServerDisconnected errors until the next command.
Normally an SMTP server will return an error, and smtplib will then issue an
RSET to return the connection to the known starting state. Some servers,
however, disconnect after issuing certain errors. When we issue the RSET,
this would result in raising an SMTPServerDisconnected error, *instead* of
returning the error code the user of the library was expecting. This fix
makes the internal RSET calls ignore the disconnection so that the error code
is returned. The user of the library will then get the SMTPServerDisconnected
error the next time they try to talk to the server.
Patch by Kushal Das.
3 files changed