43 if not self.has_extn("starttls"): |
43 if not self.has_extn("starttls"): |
44 msg = "STARTTLS extension not supported by server" |
44 msg = "STARTTLS extension not supported by server" |
45 raise smtplib.SMTPException(msg) |
45 raise smtplib.SMTPException(msg) |
46 (resp, reply) = self.docmd("STARTTLS") |
46 (resp, reply) = self.docmd("STARTTLS") |
47 if resp == 220: |
47 if resp == 220: |
48 self.sock = sslutil.ssl_wrap_socket(self.sock, keyfile, certfile, |
48 self.sock = sslutil.wrapsocket(self.sock, keyfile, certfile, |
49 **self._sslkwargs) |
49 **self._sslkwargs) |
50 if not util.safehasattr(self.sock, "read"): |
50 if not util.safehasattr(self.sock, "read"): |
51 # using httplib.FakeSocket with Python 2.5.x or earlier |
51 # using httplib.FakeSocket with Python 2.5.x or earlier |
52 self.sock.read = self.sock.recv |
52 self.sock.read = self.sock.recv |
53 self.file = smtplib.SSLFakeFile(self.sock) |
53 self.file = smtplib.SSLFakeFile(self.sock) |
54 self.helo_resp = None |
54 self.helo_resp = None |
72 |
72 |
73 def _get_socket(self, host, port, timeout): |
73 def _get_socket(self, host, port, timeout): |
74 if self.debuglevel > 0: |
74 if self.debuglevel > 0: |
75 print >> sys.stderr, 'connect:', (host, port) |
75 print >> sys.stderr, 'connect:', (host, port) |
76 new_socket = socket.create_connection((host, port), timeout) |
76 new_socket = socket.create_connection((host, port), timeout) |
77 new_socket = sslutil.ssl_wrap_socket(new_socket, |
77 new_socket = sslutil.wrapsocket(new_socket, |
78 self.keyfile, self.certfile, |
78 self.keyfile, self.certfile, |
79 **self._sslkwargs) |
79 **self._sslkwargs) |
80 self.file = smtplib.SSLFakeFile(new_socket) |
80 self.file = smtplib.SSLFakeFile(new_socket) |
81 return new_socket |
81 return new_socket |
82 else: |
82 else: |
83 def SMTPS(sslkwargs, keyfile=None, certfile=None, **kwargs): |
83 def SMTPS(sslkwargs, keyfile=None, certfile=None, **kwargs): |
84 raise util.Abort(_('SMTPS requires Python 2.6 or later')) |
84 raise util.Abort(_('SMTPS requires Python 2.6 or later')) |