Commit c1d52063 authored by Antoine Pitrou's avatar Antoine Pitrou

Issue #11927: SMTP_SSL now uses port 465 by default as documented. Patch by Kasun Herath.

parent 63e4230c
...@@ -219,6 +219,7 @@ class SMTP: ...@@ -219,6 +219,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):
...@@ -234,7 +235,6 @@ class SMTP: ...@@ -234,7 +235,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:
...@@ -749,13 +749,15 @@ if _have_ssl: ...@@ -749,13 +749,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: print('connect:', (host, port), file=stderr) if self.debuglevel > 0: print('connect:', (host, port), file=stderr)
......
...@@ -17,6 +17,13 @@ class SmtpSSLTest(unittest.TestCase): ...@@ -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)
......
...@@ -335,6 +335,7 @@ Malte Helmert ...@@ -335,6 +335,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
......
...@@ -66,6 +66,9 @@ Core and Builtins ...@@ -66,6 +66,9 @@ Core and Builtins
Library Library
------- -------
- Issue #11927: SMTP_SSL now uses port 465 by default as documented. Patch
by Kasun Herath.
- Issue 11999: fixed sporadic sync failure mailbox.Maildir due to its trying to - Issue 11999: fixed sporadic sync failure mailbox.Maildir due to its trying to
detect mtime changes by comparing to the system clock instead of to the detect mtime changes by comparing to the system clock instead of to the
previous value of the mtime. previous value of the mtime.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment