If you try to open an email with an accent in one of the addresses of the 'to' field, you'll get a 500 error. Here is the stacktrace
DjangoUnicodeDecodeError at /webmail/
'ascii' codec can't decode byte 0xe9 in position 14: ordinal not in range(128). You passed in b'<xxx@xxxaf\xe9-cr\xe9ationxxx.fr>,...' (<class 'bytes'>)
Request Method: GET
Request URL: https://domain.name/webmail/?action=viewmail&mbox=INBOX&mailid=xxxx
Django Version: 1.11.9
Python Executable: /usr/bin/uwsgi-core
Python Version: 3.5.3
Python Path: ['.', '', '/usr/lib/python35.zip', '/usr/lib/python3.5', '/usr/lib/python3.5/plat-x86_64-linux-gnu', '/usr/lib/python3.5/lib-dynload', '/directory/lib/python3.5/site-packages', '/directory/src/caldav']
Server time: mar, 9 Oct 2018 09:07:14 +0200
Installed Applications:
('django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.sites',
'django.contrib.staticfiles',
'reversion',
'ckeditor',
'ckeditor_uploader',
'rest_framework',
'rest_framework.authtoken',
'modoboa',
'modoboa.core',
'modoboa.lib',
'modoboa.admin',
'modoboa.transport',
'modoboa.relaydomains',
'modoboa.limits',
'modoboa.parameters',
'modoboa_sievefilters',
'modoboa_webmail',
'modoboa_radicale',
'modoboa_stats',
'modoboa_dmarc',
'modoboa_postfix_autoreply',
'webpack_loader')
Installed Middleware:
('x_forwarded_for.middleware.XForwardedForMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'modoboa.core.middleware.LocalConfigMiddleware',
'modoboa.lib.middleware.AjaxLoginRedirect',
'modoboa.lib.middleware.CommonExceptionCatcher',
'modoboa.lib.middleware.RequestCatcherMiddleware')
Traceback:
File "/directory/lib/python3.5/site-packages/django/utils/encoding.py" in force_text
74. s = six.text_type(s, encoding, errors)
During handling of the above exception ('ascii' codec can't decode byte 0xe9 in position 14: ordinal not in range(128)), another exception occurred:
File "/directory/lib/python3.5/site-packages/django/core/handlers/exception.py" in inner
41. response = get_response(request)
File "/directory/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
187. response = self.process_exception_by_middleware(e, request)
File "/directory/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
185. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/lib/python3.5/contextlib.py" in inner
30. return func(*args, **kwds)
File "/directory/lib/python3.5/site-packages/django/contrib/auth/decorators.py" in _wrapped_view
23. return view_func(request, *args, **kwargs)
File "/directory/lib/python3.5/site-packages/modoboa/admin/lib.py" in wrapped_f
41. return f(request, *args, **kwargs)
File "/directory/lib/python3.5/site-packages/modoboa_webmail/views.py" in index
625. response = globals()[action](request)
File "/directory/lib/python3.5/site-packages/modoboa_webmail/views.py" in viewmail
559. email.fetch_headers()
File "/directory/lib/python3.5/site-packages/modoboa_webmail/lib/imapemail.py" in fetch_headers
77. hdrvalue = self.get_header(msg, label, raw=raw_addresses)
File "/directory/lib/python3.5/site-packages/modoboa_webmail/lib/imapemail.py" in get_header
97. hdrvalue = super(ImapEmail, self).get_header(msg, hdrname)
File "/directory/lib/python3.5/site-packages/modoboa/lib/email_utils.py" in get_header
132. for v, e in email.header.decode_header(msg[header])
File "/directory/lib/python3.5/site-packages/modoboa/lib/email_utils.py" in <listcomp>
132. for v, e in email.header.decode_header(msg[header])
File "/directory/lib/python3.5/site-packages/django/utils/encoding.py" in smart_text
41. return force_text(s, encoding, strings_only, errors)
File "/directory/lib/python3.5/site-packages/django/utils/encoding.py" in force_text
88. raise DjangoUnicodeDecodeError(s, *e.args)
Exception Type: DjangoUnicodeDecodeError at /webmail/
Exception Value: 'ascii' codec can't decode byte 0xe9 in position 14: ordinal not in range(128). You passed in b'<xxx@xxxaf\xe9-cr\xe9ationxxx.fr>,...' (<class 'bytes'>)
Request information:
USER: anthony@xxx
GET:
mailid = 'xxxx'
mbox = 'INBOX'
action = 'viewmail'
POST: No POST data
FILES: No FILES data
You're seeing this error because you have DEBUG = True in your
Django settings file. Change that to False, and Django will
display a standard page generated by the handler for this status code.
Hi,
If you try to open an email with an accent in one of the addresses of the 'to' field, you'll get a 500 error. Here is the stacktrace