@@ -1145,63 +1145,18 @@ def open(self, host = '', port = IMAP4_SSL_PORT):
1145
1145
"""
1146
1146
self .host = host
1147
1147
self .port = port
1148
- self .sock = socket .socket (socket .AF_INET , socket .SOCK_STREAM )
1149
- self .sock .connect ((host , port ))
1150
- self .sslobj = ssl .wrap_socket (self .sock , self .keyfile , self .certfile )
1151
-
1152
-
1153
- def read (self , size ):
1154
- """Read 'size' bytes from remote."""
1155
- # sslobj.read() sometimes returns < size bytes
1156
- chunks = []
1157
- read = 0
1158
- while read < size :
1159
- data = self .sslobj .read (size - read )
1160
- read += len (data )
1161
- chunks .append (data )
1162
-
1163
- return '' .join (chunks )
1164
-
1165
-
1166
- def readline (self ):
1167
- """Read line from remote."""
1168
- line = []
1169
- while 1 :
1170
- char = self .sslobj .read (1 )
1171
- line .append (char )
1172
- if char == "\n " : return '' .join (line )
1173
-
1174
-
1175
- def send (self , data ):
1176
- """Send data to remote."""
1177
- bytes = len (data )
1178
- while bytes > 0 :
1179
- sent = self .sslobj .write (data )
1180
- if sent == bytes :
1181
- break # avoid copy
1182
- data = data [sent :]
1183
- bytes = bytes - sent
1184
-
1185
-
1186
- def shutdown (self ):
1187
- """Close I/O established in "open"."""
1188
- self .sock .close ()
1189
-
1190
-
1191
- def socket (self ):
1192
- """Return socket instance used to connect to IMAP4 server.
1193
-
1194
- socket = <instance>.socket()
1195
- """
1196
- return self .sock
1148
+ sock = socket .socket (socket .AF_INET , socket .SOCK_STREAM )
1149
+ sock .connect ((host , port ))
1150
+ self .sock = ssl .wrap_socket (sock , self .keyfile , self .certfile )
1151
+ self .file = self .sock .makefile ('rb' )
1197
1152
1198
1153
1199
1154
def ssl (self ):
1200
1155
"""Return SSLObject instance used to communicate with the IMAP4 server.
1201
1156
1202
1157
ssl = ssl.wrap_socket(<instance>.socket)
1203
1158
"""
1204
- return self .sslobj
1159
+ return self .sock
1205
1160
1206
1161
__all__ .append ("IMAP4_SSL" )
1207
1162
0 commit comments