diff --git a/modoboa/core/models.py b/modoboa/core/models.py index c6f89ae19..fed83e3f7 100644 --- a/modoboa/core/models.py +++ b/modoboa/core/models.py @@ -1,5 +1,6 @@ """Core models.""" +from email.header import Header import re from django.core.urlresolvers import reverse @@ -223,10 +224,9 @@ class User(PermissionsMixin): @property def encoded_address(self): - from email.header import Header if self.first_name != "" or self.last_name != "": - return "%s <%s>" % \ - (Header(self.fullname, "utf8").encode(), self.email) + return '"{}" <{}>'.format( + Header(self.fullname, "utf8").encode(), self.email) return self.email def is_owner(self, obj): diff --git a/modoboa/lib/email_utils.py b/modoboa/lib/email_utils.py index 4f9a19c39..be8a6a411 100644 --- a/modoboa/lib/email_utils.py +++ b/modoboa/lib/email_utils.py @@ -276,6 +276,8 @@ def prepare_addresses(addresses, usage="header"): """ result = [] for address in re.split('[,;]', addresses): + if not address: + continue name, addr = parseaddr(address) if name and usage == "header": result.append("%s <%s>" % (Header(name, 'utf8').encode(), addr))