Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
65e27fcc
Commit
65e27fcc
authored
Jun 23, 2013
by
R David Murray
Browse files
Options
Browse Files
Download
Plain Diff
Merge heads.
parents
478b08ee
9575222b
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
43 additions
and
32 deletions
+43
-32
Doc/library/smtplib.rst
Doc/library/smtplib.rst
+25
-19
Lib/smtplib.py
Lib/smtplib.py
+18
-13
No files found.
Doc/library/smtplib.rst
View file @
65e27fcc
...
...
@@ -24,12 +24,15 @@ Protocol) and :rfc:`1869` (SMTP Service Extensions).
A :class:`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 :meth:`connect` method is called
with those parameters during initialization. If the :meth:`connect` call
returns anything other than a success code, an :exc:`SMTPConnectError` is
raised. 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).
host and port parameters are given, the SMTP :meth:`connect` method is
called with those parameters during initialization. If specified,
*local_hostname* is used as the FQDN of the local host in the HELO/EHLO
command. Otherwise, the local hostname is found using
:func:`socket.getfqdn`. If the :meth:`connect` call returns anything other
than a success code, an :exc:`SMTPConnectError` is raised. 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,
:meth:`sendmail`, and :meth:`~smtplib.quit` methods.
...
...
@@ -45,12 +48,13 @@ Protocol) and :rfc:`1869` (SMTP Service Extensions).
:class:`SMTP`. :class:`SMTP_SSL` should be used for situations where SSL is
required from the beginning of the connection and using :meth:`starttls` 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).
*port* is omitted, the standard SMTP-over-SSL port (465) is used.
*local_hostname* has the same meaning as it does for the :class:`SMTP`
class. *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).
.. versionadded:: 2.6
...
...
@@ -58,13 +62,15 @@ Protocol) and :rfc:`1869` (SMTP Service Extensions).
.. class:: LMTP([host[, port[, local_hostname]]])
The LMTP protocol, which is very similar to ESMTP, is heavily based on the
standard SMTP client. It's common to use Unix sockets for LMTP, so our :meth:`connect`
method must support that as well as a regular host:port server. To specify a
Unix socket, you must use an absolute path for *host*, starting with a '/'.
Authentication is supported, using the regular SMTP mechanism. When using a Unix
socket, LMTP generally don't support or require any authentication, but your
mileage might vary.
standard SMTP client. It's common to use Unix sockets for LMTP, so our
:meth:`connect` method must support that as well as a regular host:port
server. *local_hostname* has the same meaning as it does for the
:class:`SMTP` class. To specify a Unix socket, you must use an absolute
path for *host*, starting with a '/'.
Authentication is supported, using the regular SMTP mechanism. When using a
Unix socket, LMTP generally don't support or require any authentication, but
your mileage might vary.
.. versionadded:: 2.6
...
...
Lib/smtplib.py
View file @
65e27fcc
...
...
@@ -238,10 +238,11 @@ class SMTP:
If
specified
,
`
host
' is the name of the remote host to which to
connect. If specified, `port'
specifies
the
port
to
which
to
connect
.
By
default
,
smtplib
.
SMTP_PORT
is
used
.
If
a
host
is
specified
the
connect
method
is
called
,
and
if
it
returns
anything
other
than
a
success
code
an
SMTPConnectError
is
raised
.
If
specified
,
`local_hostname`
is
used
as
the
FQDN
of
the
local
host
.
By
default
,
the
local
hostname
is
found
using
socket
.
getfqdn
().
connect
method
is
called
,
and
if
it
returns
anything
other
than
a
success
code
an
SMTPConnectError
is
raised
.
If
specified
,
`local_hostname`
is
used
as
the
FQDN
of
the
local
host
for
the
HELO
/
EHLO
command
.
Otherwise
,
the
local
hostname
is
found
using
socket
.
getfqdn
().
"""
self.timeout = timeout
...
...
@@ -759,12 +760,15 @@ class SMTP:
if
_have_ssl
:
class
SMTP_SSL
(
SMTP
):
""" This is a subclass derived from SMTP that connects over an SSL encrypted
socket (to use this class you need a socket module that was compiled with SSL
support). 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 - they can contain a PEM formatted private key and
certificate chain file for the SSL connection.
""" This is a subclass derived from SMTP that connects over an SSL
encrypted socket (to use this class you need a socket module that was
compiled with SSL support). If host is not specified, '' (the local
host) is used. If port is omitted, the standard SMTP-over-SSL port
(465) is used. local_hostname has the same meaning as it does in the
SMTP class. keyfile and certfile are also optional - they can contain
a PEM formatted private key and certificate chain file for the SSL
connection.
"""
default_port
=
SMTP_SSL_PORT
...
...
@@ -795,9 +799,10 @@ class LMTP(SMTP):
"""LMTP - Local Mail Transfer Protocol
The LMTP protocol, which is very similar to ESMTP, is heavily based
on the standard SMTP client. It's common to use Unix sockets for LMTP,
so our connect() method must support that as well as a regular
host:port server. To specify a Unix socket, you must use an absolute
on the standard SMTP client. It's common to use Unix sockets for
LMTP, so our connect() method must support that as well as a regular
host:port server. local_hostname has the same meaning as it does in
the SMTP class. To specify a Unix socket, you must use an absolute
path as the host, starting with a '/'.
Authentication is supported, using the regular SMTP mechanism. When
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment