[FIX] mail: removing whitespace on message_id from incoming mail
Because of a whitespace character present at the beginning of the message_id of some mails, they were fetched twice. From the SQL side, we see that Outlook is formatting the header following the RFC822 by allowing the header to look like: Header:<CRLF> <whitespace><hash_of_msg_id> From RFC822: "Each header field can be viewed as a single, logical line of ASCII characters. For convenience, the field-body portion of this conceptual entity can be split into a multiple-line representation" (abr.) It was also possible to find out by checking the logs. One or two whitespace(s) can be seen before the hash of the msg_id. The following commit is making sure we use and save the message_id without the whitespace by stripping them off on the coming mail. OPW-2006806 Applying CHS solution to avoid crash on empty header. closes odoo/odoo#35682 Signed-off-by: bve-odoo <Abridbus@users.noreply.github.com>
This commit is contained in:
@@ -1500,7 +1500,7 @@ class MailThread(models.AbstractModel):
|
|||||||
# Very unusual situation, be we should be fault-tolerant here
|
# Very unusual situation, be we should be fault-tolerant here
|
||||||
message_id = "<%s@localhost>" % time.time()
|
message_id = "<%s@localhost>" % time.time()
|
||||||
_logger.debug('Parsing Message without message-id, generating a random one: %s', message_id)
|
_logger.debug('Parsing Message without message-id, generating a random one: %s', message_id)
|
||||||
msg_dict['message_id'] = message_id
|
msg_dict['message_id'] = message_id.strip()
|
||||||
|
|
||||||
if message.get('Subject'):
|
if message.get('Subject'):
|
||||||
msg_dict['subject'] = tools.decode_smtp_header(message.get('Subject'))
|
msg_dict['subject'] = tools.decode_smtp_header(message.get('Subject'))
|
||||||
|
|||||||
Reference in New Issue
Block a user