summaryrefslogtreecommitdiff
path: root/alot
diff options
context:
space:
mode:
Diffstat (limited to 'alot')
-rw-r--r--alot/message.py12
1 files changed, 5 insertions, 7 deletions
diff --git a/alot/message.py b/alot/message.py
index e00d62df..71760ad5 100644
--- a/alot/message.py
+++ b/alot/message.py
@@ -260,18 +260,16 @@ def encode_header(key, value):
rawentries = value.split(',')
encodedentries = []
for entry in rawentries:
- m = re.search('\s*(.*)\s+<(.*\@.*\.\w*)>$', entry)
+ m = re.search('\s*(.*)\s+<(.*\@.*\.\w*)>\s*$', entry)
if m: # If a realname part is contained
name, address = m.groups()
# try to encode as ascii, if that fails, revert to utf-8
# name must be a unicode string here
- header = Header(name)
+ namepart = Header(name)
# append address part encoded as ascii
- header.append('<%s>' % address, charset='ascii')
- encodedentries.append(header.encode())
- else: # pure email address
- encodedentries.append(entry)
- value = Header(','.join(encodedentries))
+ entry = '%s <%s>' % (namepart.encode(), address)
+ encodedentries.append(entry)
+ value = Header(', '.join(encodedentries))
else:
value = Header(value)
return value