During ARC signing: UnicodeEncodeError: 'ascii' codec can't encode character
With the latest master (3125f465), a simple 8bit HTML message with diacritics has caused the following exception:
Jan 11 11:59:48 2022 (3507934) HyperKitty archived message <e5c8ce12-3d9c-c0a4-8f0a-5f7c28a36d91@gmail.com> to https://lists.sin.cvut.cz/archives/list/testlist@sin.cvut.cz/message/DAKCETC6UQDGZ45Q46IKHIIMX5FKW2TA/
Jan 11 11:59:48 2022 (3507940) Uncaught runner exception: 'ascii' codec can't encode character '\xe1' in position 16: ordinal not in range(128)
Jan 11 11:59:48 2022 (3507940) Traceback (most recent call last):
File "/opt/mailman/venv/lib/python3.8/site-packages/mailman/core/runner.py", line 176, in _one_iteration
self._process_one_file(msg, msgdata)
File "/opt/mailman/venv/lib/python3.8/site-packages/mailman/core/runner.py", line 269, in _process_one_file
keepqueued = self._dispose(mlist, msg, msgdata)
File "/opt/mailman/venv/lib/python3.8/site-packages/mailman/runners/outgoing.py", line 111, in _dispose
self._func(mlist, msg, msgdata)
File "/opt/mailman/venv/lib/python3.8/site-packages/mailman/mta/deliver.py", line 89, in deliver
refused = agent.deliver(mlist, msg, msgdata)
File "/opt/mailman/venv/lib/python3.8/site-packages/mailman/mta/base.py", line 167, in deliver
callback(mlist, message_copy, msgdata_copy)
File "/opt/mailman/venv/lib/python3.8/site-packages/mailman/mta/arc_signing.py", line 31, in arc_sign
config.handlers['arc-sign'].process(mlist, msg, msgdata)
File "/opt/mailman/venv/lib/python3.8/site-packages/mailman/handlers/arc_sign.py", line 71, in process
sign(msg, msgdata)
File "/opt/mailman/venv/lib/python3.8/site-packages/mailman/handlers/arc_sign.py", line 42, in sign
sig = sign_message(msg.as_bytes(),
File "/usr/lib/python3.8/email/message.py", line 178, in as_bytes
g.flatten(self, unixfrom=unixfrom)
File "/usr/lib/python3.8/email/generator.py", line 116, in flatten
self._write(msg)
File "/usr/lib/python3.8/email/generator.py", line 181, in _write
self._dispatch(msg)
File "/usr/lib/python3.8/email/generator.py", line 218, in _dispatch
meth(msg)
File "/usr/lib/python3.8/email/generator.py", line 276, in _handle_multipart
g.flatten(part, unixfrom=False, linesep=self._NL)
File "/usr/lib/python3.8/email/generator.py", line 116, in flatten
self._write(msg)
File "/usr/lib/python3.8/email/generator.py", line 181, in _write
self._dispatch(msg)
File "/usr/lib/python3.8/email/generator.py", line 218, in _dispatch
meth(msg)
File "/usr/lib/python3.8/email/generator.py", line 436, in _handle_text
super(BytesGenerator,self)._handle_text(msg)
File "/usr/lib/python3.8/email/generator.py", line 253, in _handle_text
self._write_lines(payload)
File "/usr/lib/python3.8/email/generator.py", line 155, in _write_lines
self.write(line)
File "/usr/lib/python3.8/email/generator.py", line 410, in write
self._fp.write(s.encode('ascii', 'surrogateescape'))
UnicodeEncodeError: 'ascii' codec can't encode character '\xe1' in position 16: ordinal not in range(128)
Jan 11 11:59:48 2022 (3507940) SHUNTING: 1641898788.323395+58a70580ee9d4904edd9024a02259814c286d07f
Test_dkim_4__HTML_format__-Pavel_Valach__valach.pavel_gmail.com_-_2022-01-11_1159.txt
Edited by Pavel Valach