diff options
author | Lisa Junger <ljunger@thoughtworks.com> | 2015-03-31 17:10:11 +0200 |
---|---|---|
committer | Lisa Junger <ljunger@thoughtworks.com> | 2015-04-02 17:54:21 +0200 |
commit | db5a88affdf696b833619d18cbcfdd408f206150 (patch) | |
tree | ed6649a17304ddabe26361a607cbfac7f16e15b4 /service/pixelated/adapter/model | |
parent | bd4fc909be410548283cb5d6f0d8a7eeaccc4405 (diff) |
handle incorrectly encoded headers as ascii.
- Issue #347
Diffstat (limited to 'service/pixelated/adapter/model')
-rw-r--r-- | service/pixelated/adapter/model/mail.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/service/pixelated/adapter/model/mail.py b/service/pixelated/adapter/model/mail.py index f23c2708..e11c4048 100644 --- a/service/pixelated/adapter/model/mail.py +++ b/service/pixelated/adapter/model/mail.py @@ -303,13 +303,19 @@ class PixelatedMail(Mail): return _headers + def _decode_header_with_fallback(self, entry): + try: + return decode_header(entry)[0][0] + except Exception, e: + return entry.encode('ascii', 'ignore') + def _decode_header(self, header): if not header: return None if isinstance(header, list): - return [decode_header(entry)[0][0] for entry in header] + return [self._decode_header_with_fallback(entry) for entry in header] else: - return decode_header(header)[0][0] + return self._decode_header_with_fallback(header) def _get_date(self): date = self.hdoc.content.get('date', None) |