send(), ehlo(): Integrate patch #487310 by Fazal Majid. Consistently

call self.close() just before raising SMTPServerDisconnected.  This
allows you to, e.g. reconnect after a server timeout.

Merged from the 2.2c1 branch.
This commit is contained in:
Barry Warsaw 2001-12-14 20:34:20 +00:00
parent 19554f60c2
commit 7675097d78
1 changed files with 2 additions and 0 deletions

View File

@ -294,6 +294,7 @@ class SMTP:
while sendptr < len(str):
sendptr = sendptr + self.sock.send(str[sendptr:])
except socket.error:
self.close()
raise SMTPServerDisconnected('Server not connected')
else:
raise SMTPServerDisconnected('please run connect() first')
@ -380,6 +381,7 @@ class SMTP:
# MTA's will disconnect on an ehlo. Toss an exception if
# that happens -ddm
if code == -1 and len(msg) == 0:
self.close()
raise SMTPServerDisconnected("Server not connected")
self.ehlo_resp=msg
if code != 250: