diff options
| author | Denis Ledoux <dle@odoo.com> | 2014-08-12 13:40:45 +0200 |
|---|---|---|
| committer | Denis Ledoux <dle@odoo.com> | 2014-08-12 13:40:45 +0200 |
| commit | 245bb4ebdfeccb05134b3ff943c9fd0fb01173c2 (patch) | |
| tree | 0b280dbd5d41eb4f23520ceed46ee17069b5d187 /addons/mail/mail_mail.py | |
| parent | 2abddd5311a78be58eb81ea5d6875ad9c04493e3 (diff) | |
[FIX] mail: to/from/reply-to addresses formated according to RFC2822
Use formataddr method from email.utils lib, which do the job correctly
Diffstat (limited to 'addons/mail/mail_mail.py')
| -rw-r--r-- | addons/mail/mail_mail.py | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/addons/mail/mail_mail.py b/addons/mail/mail_mail.py index b558f4729be..1c53d0477a7 100644 --- a/addons/mail/mail_mail.py +++ b/addons/mail/mail_mail.py @@ -22,6 +22,7 @@ import base64 import logging import re +from email.utils import formataddr from urllib import urlencode from urlparse import urljoin @@ -216,10 +217,9 @@ class mail_mail(osv.Model): if email_reply_to and mail.model and mail.res_id: document_name = self.pool.get(mail.model).name_get(cr, SUPERUSER_ID, [mail.res_id], context=context)[0] if document_name: - # sanitize document name - sanitized_doc_name = re.sub(r'[^\w+.]+', '-', document_name[1]) # generate reply to - email_reply_to = _('"Followers of %s" <%s>') % (sanitized_doc_name, email_reply_to) + + email_reply_to = formataddr((_('Followers of %s') % document_name[1], email_reply_to)) return email_reply_to @@ -240,10 +240,9 @@ class mail_mail(osv.Model): # 2. if 'partner' is specified, but no related document: Partner Name <email> # 3; fallback on mail.email_to that we split to have an email addresses list if partner and mail.record_name: - sanitized_record_name = re.sub(r'[^\w+.]+', '-', mail.record_name) - email_to = [_('"Followers of %s" <%s>') % (sanitized_record_name, partner.email)] + email_to = [formataddr((_('Followers of %s') % mail.record_name, partner.email))] elif partner: - email_to = ['%s <%s>' % (partner.name, partner.email)] + email_to = [formataddr((partner.name, partner.email))] else: email_to = tools.email_split(mail.email_to) |
