diff --git a/Lib/smtplib.py b/Lib/smtplib.py index bb9c239a276..75093ae0fa6 100755 --- a/Lib/smtplib.py +++ b/Lib/smtplib.py @@ -298,7 +298,7 @@ class SMTP: def send(self, str): """Send `str' to the server.""" if self.debuglevel > 0: print>>stderr, 'send:', repr(str) - if self.sock: + if hasattr(self, 'sock') and self.sock: try: self.sock.sendall(str) except socket.error: @@ -486,7 +486,7 @@ class SMTP: vrfy=verify def expn(self, address): - """SMTP 'verify' command -- checks for address validity.""" + """SMTP 'expn' command -- expands a mailing list.""" self.putcmd("expn", quoteaddr(address)) return self.getreply() diff --git a/Lib/test/test_smtplib.py b/Lib/test/test_smtplib.py index e2b9b060f44..933523b9304 100644 --- a/Lib/test/test_smtplib.py +++ b/Lib/test/test_smtplib.py @@ -82,8 +82,9 @@ class GeneralTests(TestCase): # to reference the nonexistent 'sock' attribute of the SMTP object # causes an AttributeError) smtp = smtplib.SMTP() - self.assertRaises(AttributeError, smtp.ehlo) - self.assertRaises(AttributeError, smtp.send, 'test msg') + self.assertRaises(smtplib.SMTPServerDisconnected, smtp.ehlo) + self.assertRaises(smtplib.SMTPServerDisconnected, + smtp.send, 'test msg') def testLocalHostName(self): # check that supplied local_hostname is used