20.12. smtplib — SMTP protocol client¶
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).
-
class
smtplib.SMTP([host[, port[, local_hostname[, timeout]]]])¶ A
SMTPinstance 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 SMTPconnect()method is called with those parameters during initialization. AnSMTPConnectErroris raised if the specified host doesn’t respond correctly. The optional timeout parameter specifies a timeout in seconds for blocking operations like the connection attempt (if not specified, the global default timeout setting will be used).For normal use, you should only require the initialization/connect,
sendmail(), andquit()methods. An example is included below.Changed in version 2.6:
Changed in version 2.6: timeout was added.
-
class
smtplib.SMTP_SSL([host[, port[, local_hostname[, keyfile[, certfile[, timeout]]]]]])¶ A
SMTP_SSLinstance behaves exactly the same as instances ofSMTP.SMTP_SSLshould be used for situations where SSL is required from the beginning of the connection and usingstarttls()is not appropriate. If host is not specified, the local host is used. If port is omitted, the standard SMTP-over-SSL port (465) is used. keyfile and certfile are also optional, and can contain a PEM formatted private key and certificate chain file for the SSL connection. The optional timeout parameter specifies a timeout in seconds for blocking operations like the connection attempt (if not specified, the global default timeout setting will be used).Changed in version 2.6:
Changed in version 2.6: timeout was added.