On 7/26/19 11:05 AM, Stephen J. Turnbull wrote:
The problem is that Mailman's LMTP server rejects malformed mail. I seem to recall that in Mailman 2, Mailman itself would add a Message-ID field if one was not present. I don't know how easy it would be to provide this feature, since we would have to patch the LMTP server code so the message could make it to Mailman proper (Mailman 3 imports the LMTP server from the stdlib).
It's a simple patch to the lmtp runner (Mailman's LMTP server). There's a closed issue on this at <https://gitlab.com/mailman/mailman/issues/490> - closed because I convinced the submitter it wasn't the right thing to do.
My solution for now (apart from telling people not to use old broken Outlook!) is to modify the exim mailman3_transport so that any message with a missing Message-ID: will have one generated by exim before it's passed to LMTP. This reproduces the same behaviour exim uses for locally submitted messages.
I'm not sure it's a good idea to do this (and certainly not by default). The only times I've seen messages without a Message-ID are spam messages. I suppose we can add this to the documentation.
I added Robert's solution at <https://mailman.readthedocs.io/en/latest/src/mailman/docs/mta.html#troubleshooting>
The requirement for a Message-ID: is documented, albeit not very prominently, at <https://mailman.readthedocs.io/en/latest/build/lib/mailman/runners/docs/lmtp.html?highlight=message-id#lmtp-server>.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan