Skip to content

UnicodeEncodeError in exception message #148

@fdemmer

Description

@fdemmer

The errmsg constructed in parse_address_list() causes an exception, when any of the addresses contains a non-ascii character, because of the non-unicode string in ", ".join(address_list_strings). This is only triggered, when there is an invalid email address in the list.

  • Anymail version: 5.0
  • ESP: Mailjet (but not relevant to issue)
  • Versions of Django 1.11.20, requests 2.20.1, python 2.7.16
  • Exact error message and/or stack trace
UnicodeEncodeError: 'ascii' codec can't encode character u'\xc4' in position 114: ordinal not in range(128)
[...]
  File "django/core/mail/message.py", line 348, in send
    return self.get_connection(fail_silently).send_messages([self])
[...]
  File "anymail/backends/base.py", line 95, in send_messages
    sent = self._send(message)
  File "anymail/backends/base_requests.py", line 60, in _send
    return super(AnymailRequestsBackend, self)._send(message)
  File "anymail/backends/base.py", line 124, in _send
    payload = self.build_message_payload(message, self.send_defaults)
  File "anymail/backends/mailjet.py", line 27, in build_message_payload
    return MailjetPayload(message, defaults, self)
  File "anymail/backends/mailjet.py", line 86, in __init__
    auth=auth, headers=http_headers, *args, **kwargs)
  File "anymail/backends/base_requests.py", line 148, in __init__
    super(RequestsPayload, self).__init__(message, defaults, backend)
  File "anymail/backends/base.py", line 275, in __init__
    value = converter(value, field=attr)
  File "anymail/utils.py", line 163, in parse_address_list
    where=" in `%s`" % field if field else "",

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions