summaryrefslogtreecommitdiff
path: root/odoo/tools
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2018-05-23 19:33:40 +0200
committerChristophe Simonis <chs@odoo.com>2018-05-23 19:33:40 +0200
commit2bc6ea1b378bc8a660219b0502c93118f0bb1b6a (patch)
tree806acef55473ca422ca6f1d5d46041e3c5e1e590 /odoo/tools
parent2a43614c3c00d57a4376eea44cd8cd1ed2d316b7 (diff)
parent02ee3fd88eff00ecc058c060aa9b3b39b7c08e15 (diff)
[MERGE] forward port branch 11.0 up to 02ee3fd88ef
Diffstat (limited to 'odoo/tools')
-rw-r--r--odoo/tools/mail.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/odoo/tools/mail.py b/odoo/tools/mail.py
index 5c02b3aa3e3..96d8d5614ff 100644
--- a/odoo/tools/mail.py
+++ b/odoo/tools/mail.py
@@ -10,7 +10,7 @@ import socket
import threading
import time
-from email.header import decode_header
+from email.header import decode_header, Header
from email.utils import getaddresses, formataddr
from lxml import etree
@@ -524,11 +524,14 @@ def decode_smtp_header(smtp_header):
text. email.header decode_header method return a decoded string and its
charset for each decoded par of the header. This method unicodes the
decoded header and join them in a complete string. """
+ if isinstance(smtp_header, Header):
+ smtp_header = ustr(smtp_header)
if smtp_header:
text = decode_header(smtp_header.replace('\r', ''))
# The joining space will not be needed as of Python 3.3
- # See https://hg.python.org/cpython/rev/8c03fe231877
- return ' '.join([ustr(x[0], x[1]) for x in text])
+ # See https://github.com/python/cpython/commit/07ea53cb218812404cdbde820647ce6e4b2d0f8e
+ sep = ' ' if pycompat.PY2 else ''
+ return sep.join([ustr(x[0], x[1]) for x in text])
return u''
# was mail_thread.decode_header()