Merge: Issue #11927: SMTP_SSL now uses port 465 by default as documented.

This commit is contained in:
Antoine Pitrou 2011-05-07 19:42:39 +02:00
commit d7f12f30e4
4 changed files with 15 additions and 2 deletions

View file

@ -231,6 +231,7 @@ class SMTP:
ehlo_msg = "ehlo" ehlo_msg = "ehlo"
ehlo_resp = None ehlo_resp = None
does_esmtp = 0 does_esmtp = 0
default_port = SMTP_PORT
def __init__(self, host='', port=0, local_hostname=None, def __init__(self, host='', port=0, local_hostname=None,
timeout=socket._GLOBAL_DEFAULT_TIMEOUT): timeout=socket._GLOBAL_DEFAULT_TIMEOUT):
@ -246,7 +247,6 @@ class SMTP:
""" """
self.timeout = timeout self.timeout = timeout
self.esmtp_features = {} self.esmtp_features = {}
self.default_port = SMTP_PORT
if host: if host:
(code, msg) = self.connect(host, port) (code, msg) = self.connect(host, port)
if code != 220: if code != 220:
@ -817,13 +817,15 @@ if _have_ssl:
are also optional - they can contain a PEM formatted private key and are also optional - they can contain a PEM formatted private key and
certificate chain file for the SSL connection. certificate chain file for the SSL connection.
""" """
default_port = SMTP_SSL_PORT
def __init__(self, host='', port=0, local_hostname=None, def __init__(self, host='', port=0, local_hostname=None,
keyfile=None, certfile=None, keyfile=None, certfile=None,
timeout=socket._GLOBAL_DEFAULT_TIMEOUT): timeout=socket._GLOBAL_DEFAULT_TIMEOUT):
self.keyfile = keyfile self.keyfile = keyfile
self.certfile = certfile self.certfile = certfile
SMTP.__init__(self, host, port, local_hostname, timeout) SMTP.__init__(self, host, port, local_hostname, timeout)
self.default_port = SMTP_SSL_PORT
def _get_socket(self, host, port, timeout): def _get_socket(self, host, port, timeout):
if self.debuglevel > 0: if self.debuglevel > 0:

View file

@ -17,6 +17,13 @@ class SmtpSSLTest(unittest.TestCase):
server.ehlo() server.ehlo()
server.quit() server.quit()
def test_connect_default_port(self):
support.get_attribute(smtplib, 'SMTP_SSL')
with support.transient_internet(self.testServer):
server = smtplib.SMTP_SSL(self.testServer)
server.ehlo()
server.quit()
def test_main(): def test_main():
support.run_unittest(SmtpSSLTest) support.run_unittest(SmtpSSLTest)

View file

@ -371,6 +371,7 @@ Malte Helmert
Lance Finn Helsten Lance Finn Helsten
Jonathan Hendry Jonathan Hendry
James Henstridge James Henstridge
Kasun Herath
Chris Herborth Chris Herborth
Ivan Herman Ivan Herman
Jürgen Hermann Jürgen Hermann

View file

@ -140,6 +140,9 @@ Core and Builtins
Library Library
------- -------
- Issue #11927: SMTP_SSL now uses port 465 by default as documented. Patch
by Kasun Herath.
- Issue 11916: Add a number of MacOSX specific definitions to the errno module. - Issue 11916: Add a number of MacOSX specific definitions to the errno module.
Patch by Pierre Carrier. Patch by Pierre Carrier.