scanner / as_email_service

A Django app and smtp relay service for working with 3rd party email services and asimap
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

Still getting unicode errors on email being sent to us #149

Closed scanner closed 2 months ago

scanner commented 2 months ago
[2024-06-23 13:15:50,475] ERROR:tasks.dispatch_incoming_email: Failed to deliver message <5a79a4bc-4f34-4f6c-8227-d9590e1f31f3@atl1s11mta909.xt.local> to ...
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/mailbox.py", line 970, in add
    self._dump_message(message, f)
  File "/usr/local/lib/python3.12/mailbox.py", line 216, in _dump_message
    gen.flatten(message)
  File "/usr/local/lib/python3.12/email/generator.py", line 115, in flatten
    self._write(msg)
  File "/usr/local/lib/python3.12/email/generator.py", line 180, in _write
    self._dispatch(msg)
  File "/usr/local/lib/python3.12/email/generator.py", line 217, in _dispatch
    meth(msg)
  File "/usr/local/lib/python3.12/email/generator.py", line 275, in _handle_multipart
    g.flatten(part, unixfrom=False, linesep=self._NL)
  File "/usr/local/lib/python3.12/email/generator.py", line 115, in flatten
    self._write(msg)
  File "/usr/local/lib/python3.12/email/generator.py", line 180, in _write
    self._dispatch(msg)
  File "/usr/local/lib/python3.12/email/generator.py", line 217, in _dispatch
    meth(msg)
  File "/usr/local/lib/python3.12/email/generator.py", line 435, in _handle_text
    super(BytesGenerator,self)._handle_text(msg)
  File "/usr/local/lib/python3.12/email/generator.py", line 252, in _handle_text
    self._write_lines(payload)
  File "/usr/local/lib/python3.12/email/generator.py", line 154, in _write_lines
    self.write(line)
  File "/usr/local/lib/python3.12/email/generator.py", line 409, in write
    self._fp.write(s.encode('ascii', 'surrogateescape'))
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
UnicodeEncodeError: 'ascii' codec can't encode character '\u2013' in position 47: ordinal not in range(128)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/app/as_email/tasks.py", line 183, in dispatch_incoming_email
    deliver_message(email_account, msg)
  File "/app/as_email/deliver.py", line 76, in deliver_message
    forward_message(email_account, msg)
  File "/app/as_email/deliver.py", line 356, in forward_message
    deliver_message_locally(email_account, msg)
  File "/app/as_email/deliver.py", line 227, in deliver_message_locally
    _add_msg_to_folder(folder, msg)
  File "/app/as_email/deliver.py", line 164, in _add_msg_to_folder
    msg_id = int(folder.add(msg))
                 ^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/mailbox.py", line 983, in add
    _unlock_file(f)
  File "/usr/local/lib/python3.12/mailbox.py", line 2110, in _unlock_file
    fcntl.lockf(f, fcntl.LOCK_UN)
ValueError: I/O operation on closed file
scanner commented 2 months ago

Still happening:


[2024-06-24 05:19:01,306] ERROR:tasks.dispatch_incoming_email: Failed to deliver message <52e96afe-f935-4e70-9811-10bfb931eade@atl1s11mta909.xt.local> to 'ruth@deities.org'
Traceback (most recent call last):
  File "/app/as_email/tasks.py", line 183, in dispatch_incoming_email
    deliver_message(email_account, msg)
  File "/app/as_email/deliver.py", line 76, in deliver_message
    forward_message(email_account, msg)
  File "/app/as_email/deliver.py", line 361, in forward_message
    deliver_message_locally(email_account, msg)
  File "/app/as_email/deliver.py", line 232, in deliver_message_locally
    _add_msg_to_folder(folder, msg)
  File "/app/as_email/deliver.py", line 168, in _add_msg_to_folder
    msg_bytes = msg.as_bytes(policy=email.policy.default)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/email/message.py", line 208, in as_bytes
    g.flatten(self, unixfrom=unixfrom)
  File "/usr/local/lib/python3.12/email/generator.py", line 115, in flatten
    self._write(msg)
  File "/usr/local/lib/python3.12/email/generator.py", line 180, in _write
    self._dispatch(msg)
  File "/usr/local/lib/python3.12/email/generator.py", line 217, in _dispatch
    meth(msg)
  File "/usr/local/lib/python3.12/email/generator.py", line 275, in _handle_multipart
    g.flatten(part, unixfrom=False, linesep=self._NL)
  File "/usr/local/lib/python3.12/email/generator.py", line 115, in flatten
    self._write(msg)
  File "/usr/local/lib/python3.12/email/generator.py", line 180, in _write
    self._dispatch(msg)
  File "/usr/local/lib/python3.12/email/generator.py", line 217, in _dispatch
    meth(msg)
  File "/usr/local/lib/python3.12/email/generator.py", line 435, in _handle_text
    super(BytesGenerator,self)._handle_text(msg)
  File "/usr/local/lib/python3.12/email/generator.py", line 252, in _handle_text
    self._write_lines(payload)
  File "/usr/local/lib/python3.12/email/generator.py", line 154, in _write_lines
    self.write(line)
  File "/usr/local/lib/python3.12/email/generator.py", line 409, in write
    self._fp.write(s.encode('ascii', 'surrogateescape'))
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
UnicodeEncodeError: 'ascii' codec can't encode character '\u2013' in position 47: ordinal not in range(128)
scanner commented 2 months ago

https://apricot-systematic.sentry.io/issues/5529624958/?alert_rule_id=14754796&alert_timestamp=1719231575905&alert_type=email&environment=production&notification_uuid=4cf01a4c-7127-43d7-80cf-c8fec569a9d7&project=4506107525005312&referrer=alert_email