Skip to content
Permalink
Browse files

[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 #35682

Signed-off-by: bve-odoo <Abridbus@users.noreply.github.com>
  • Loading branch information...
Abridbus committed Aug 13, 2019
1 parent af3f6e5 commit 2fc46a064d36d9de2c6debf9582976f938e3568b
Showing with 1 addition and 1 deletion.
  1. +1 −1 addons/mail/models/mail_thread.py
@@ -1500,7 +1500,7 @@ def message_parse(self, message, save_original=False):
# Very unusual situation, be we should be fault-tolerant here
message_id = "<%s@localhost>" % time.time()
_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'):
msg_dict['subject'] = tools.decode_smtp_header(message.get('Subject'))

0 comments on commit 2fc46a0

Please sign in to comment.
You can’t perform that action at this time.