Certain defective messages can't be delivered, even in held message notices.
Two different problems have been observed. The first is related to #256 (closed) and https://bugs.python.org/issue27321. #256 (closed) has been fixed in so far as it affects the REST interface and Postorius, but mailman.mta.base
contains
try:
refused = self._connection.sendmail(
sender, sorted(recipients), msg.as_string())
and the KeyError
that can be thrown due to https://bugs.python.org/issue27321 is not caught.
Another issue is while the third argument to the call to self._connection.sendmail
is correctly a string, the string must not contain non-ascii characters. This will not always be true for all messages. These issues can affect held message notices to list owners as well as delivered posts and they should be defended against.