Don't embed CRLF multiple times when saving a message
Since we just do multiple passes for saving the message without actually modifying its content (apart from header insertion that is CRLF-clean), we can change line ends to the proper CRLF just once. And we can also get message's date only once too. Signed-off-by: Eygene Ryabinkin <rea@codelabs.ru>
This commit is contained in:
		| @@ -509,6 +509,12 @@ class IMAPFolder(BaseFolder): | ||||
|             self.savemessageflags(uid, flags) | ||||
|             return uid | ||||
|  | ||||
|         # Use proper CRLF all over the message | ||||
|         content = re.sub("(?<!\r)\n", "\r\n", content) | ||||
|  | ||||
|         # get the date of the message, so we can pass it to the server. | ||||
|         date = self.__getmessageinternaldate(content, rtime) | ||||
|  | ||||
|         retry_left = 2 # succeeded in APPENDING? | ||||
|         imapobj = self.imapserver.acquireconnection() | ||||
|         # NB: in the finally clause for this try we will release | ||||
| @@ -521,10 +527,6 @@ class IMAPFolder(BaseFolder): | ||||
|                 # UIDPLUS extension provides us with an APPENDUID response. | ||||
|                 use_uidplus = 'UIDPLUS' in imapobj.capabilities | ||||
|  | ||||
|                 # get the date of the message, so we can pass it to the server. | ||||
|                 date = self.__getmessageinternaldate(content, rtime) | ||||
|                 content = re.sub("(?<!\r)\n", "\r\n", content) | ||||
|  | ||||
|                 if not use_uidplus: | ||||
|                     # insert a random unique header that we can fetch later | ||||
|                     (headername, headervalue) = self.__generate_randomheader( | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Eygene Ryabinkin
					Eygene Ryabinkin