* Check the SMTP servers in order of priority instead of random order.
* Handle SMTPServerDisconnected like a 451 status as recommended by RFC
* Exit early by directly raising CommunicationError on the first 5xx
See also the discussion at
Issue our own log messages independently of the "debug" parameter, so a
user can activate our log messages through Python's standard logger
config features, while still having dsabled smtplib's debug messages,
which are very verbose and always go to stderr.
Change the log output for failed and ambiguous verifications from
"warning" to "info" as this is a normal function of the library and not
something that would require attention. Also this makes sure that no log
output is generated if logging is not configured at all (default is to
only display warning and above).