Issue #11927: SMTP_SSL now uses port 465 by default as documented.  Patch by Kasun Herath.
diff --git a/Lib/smtplib.py b/Lib/smtplib.py
index e7d3786..e3ffb37 100755
--- a/Lib/smtplib.py
+++ b/Lib/smtplib.py
@@ -222,6 +222,7 @@
     ehlo_msg = "ehlo"
     ehlo_resp = None
     does_esmtp = 0
+    default_port = SMTP_PORT
 
     def __init__(self, host='', port=0, local_hostname=None,
                  timeout=socket._GLOBAL_DEFAULT_TIMEOUT):
@@ -237,7 +238,6 @@
         """
         self.timeout = timeout
         self.esmtp_features = {}
-        self.default_port = SMTP_PORT
         if host:
             (code, msg) = self.connect(host, port)
             if code != 220:
@@ -756,13 +756,15 @@
         are also optional - they can contain a PEM formatted private key and
         certificate chain file for the SSL connection.
         """
+
+        default_port = SMTP_SSL_PORT
+
         def __init__(self, host='', port=0, local_hostname=None,
                      keyfile=None, certfile=None,
                      timeout=socket._GLOBAL_DEFAULT_TIMEOUT):
             self.keyfile = keyfile
             self.certfile = certfile
             SMTP.__init__(self, host, port, local_hostname, timeout)
-            self.default_port = SMTP_SSL_PORT
 
         def _get_socket(self, host, port, timeout):
             if self.debuglevel > 0:
diff --git a/Lib/test/test_smtpnet.py b/Lib/test/test_smtpnet.py
index f25343d..2dc39eb 100644
--- a/Lib/test/test_smtpnet.py
+++ b/Lib/test/test_smtpnet.py
@@ -17,6 +17,13 @@
         server.ehlo()
         server.quit()
 
+    def test_connect_default_port(self):
+        test_support.get_attribute(smtplib, 'SMTP_SSL')
+        with test_support.transient_internet(self.testServer):
+            server = smtplib.SMTP_SSL(self.testServer)
+        server.ehlo()
+        server.quit()
+
 def test_main():
     test_support.run_unittest(SmtpSSLTest)