Issue 4929:  Handle socket errors when receiving
diff --git a/Lib/smtplib.py b/Lib/smtplib.py
index afa38bc..69d7f71 100755
--- a/Lib/smtplib.py
+++ b/Lib/smtplib.py
@@ -334,7 +334,10 @@
         if self.file is None:
             self.file = self.sock.makefile('rb')
         while 1:
-            line = self.file.readline()
+            try:
+                line = self.file.readline()
+            except socket.error:
+                line = ''
             if line == '':
                 self.close()
                 raise SMTPServerDisconnected("Connection unexpectedly closed")