diff -r fbac8f321937 Lib/smtplib.py --- a/Lib/smtplib.py Wed Apr 27 11:31:14 2011 +0100 +++ b/Lib/smtplib.py Sat May 07 22:54:16 2011 +0530 @@ -231,6 +231,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): @@ -246,7 +247,6 @@ """ self.timeout = timeout self.esmtp_features = {} - self.default_port = SMTP_PORT if host: (code, msg) = self.connect(host, port) if code != 220: @@ -817,13 +817,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 -r fbac8f321937 Lib/test/test_smtpnet.py --- a/Lib/test/test_smtpnet.py Wed Apr 27 11:31:14 2011 +0100 +++ b/Lib/test/test_smtpnet.py Sat May 07 22:54:16 2011 +0530 @@ -17,6 +17,13 @@ server.ehlo() 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(): support.run_unittest(SmtpSSLTest)