On 1/21/25 4:40 AM, jefdriesen@hotmail.com wrote:
Hi,
I have configured a mailman3 mailinglist to not modify the headers and body (e.g. no footer, no subject prefix, etc) to avoid breaking DKIM signatures. This worked well, until I encountered an email where the DKIM signature was still broken. After some debugging, the problem is caused by an attachment, where the mime header is changed by mailman3. ... The Content-Type header is modified (word-wrapped), and this breaks the DKIM signature.
How can I prevent this from happening and configure mailman to not modify the email?
You could try a patch like ``` --- a/src/mailman/runners/lmtp.py +++ b/src/mailman/runners/lmtp.py @@ -186,7 +186,8 @@ class LMTPHandler: listnames = set(getUtility(IListManager).names) # Parse the message data. If there are any defects in the # message, reject it right away; it's probably spam. - msg = email.message_from_bytes(envelope.content, Message) + msg = email.message_from_bytes(envelope.content, Message, + policy=email.policy.Compat32(max_line_length=0)) msg.set_unixfrom(envelope.mail_from) except Exception: elog.exception('LMTP message parsing') ``` This should prevent folding headers, but this is problematic. It may be that the incoming message contains a folded header and this change will not fold it in the outgoing message. I think not, but I don't know for sure. You'll have to test this. -- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan