The smtplib module defines an SMTP client session object that
can be used to send mail to any Internet machine with an SMTP or ESMTP
listener daemon. For details of SMTP and ESMTP operation, consult
RFC 821 (Simple Mail Transfer Protocol) and RFC 1869
(SMTP Service Extensions).
A SMTP instance encapsulates an SMTP connection. It has
methods that support a full repertoire of SMTP and ESMTP
operations. If the optional host and port parameters are given, the
SMTP connect() method is called with those parameters during
initialization. An SMTPConnectError is raised if the
specified host doesn't respond correctly.
For normal use, you should only require the initialization/connect,
sendmail(), and quit() methods. An example is
A nice selection of exceptions is defined as well:
Base class for all exceptions that include an SMTP error code.
These exceptions are generated in some instances when the SMTP
server returns an error code. The error code is stored in the
smtp_code attribute of the error, and the
smtp_error attribute is set to the error message.
Definition of the ESMTP
extensions for SMTP. This describes a framework for
extending SMTP with new commands, supporting dynamic
discovery of the commands provided by the server, and
defines a few additional commands.