[FIX] tools: correctly format emails when having an encoding issue
It seems the emails > < are missing. By the way one manual formataddr is replaced by an email_formatted field. Result is the same but let us use fields doing it for us.
This commit is contained in:
committed by
Julien Castiaux
parent
29d8fc091a
commit
f0ae04ab3d
@@ -1483,7 +1483,7 @@ class MailThread(models.AbstractModel):
|
||||
if partner and partner.id in [val[0] for val in result[self.ids[0]]]: # already existing partner ID -> skip
|
||||
return result
|
||||
if partner and partner.email: # complete profile: id, name <email>
|
||||
result[self.ids[0]].append((partner.id, tools.formataddr((partner.name, partner.email)), reason))
|
||||
result[self.ids[0]].append((partner.id, partner.email_formatted, reason))
|
||||
elif partner: # incomplete profile: id, name
|
||||
result[self.ids[0]].append((partner.id, '%s' % (partner.name), reason))
|
||||
else: # unknown partner, we are probably managing an email address
|
||||
|
||||
+1
-1
@@ -539,7 +539,7 @@ def formataddr(pair):
|
||||
except UnicodeEncodeError:
|
||||
# non-ascii name, transcode the name in a safe format
|
||||
# rfc2047 - MIME Message Header Extensions for Non-ASCII Text
|
||||
return "=?utf-8?b?{name}?= {addr}".format(
|
||||
return "=?utf-8?b?{name}?= <{addr}>".format(
|
||||
name=base64.b64encode(name.encode('utf-8')).decode('ascii'),
|
||||
addr=address)
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user