Several times people told me that message sent to mailman list just disappears and never sent to its subscribers. All messages had attachements, mostly excel files and doc files.
While i was trying to send some file attached into mail list - it was ok. I reset all options that could affect to the safe values:
max_message_size: 0 max_days_to_hold: 5 <- hold before automatic discarding default_member_moderation: no member_moderation_action: hold generic_nonmember_action: hold forward_auto_discards: yes require_excplicite_destination: no max_num_recipients: 10
And after all this i got discarded message again:
Sep 04 23:33:45 2006 (99752) Message discarded, msgid: <01f701c6d061$67f01430$0dcc090a@foo.bar>
I found only one place where this even occurs - it's in Mailman/Queue/IncomingRunner.py, Class IncomingRunner, method _dopipeline. Here's the code fragment:
line sys.modules[modname].process(mlist, msg, msgdata) calls method process() of one of those handlers, located in Mailman/Handlers. I grep'ed that dir and found that only followin handlers raise Errors.DiscardMessage exception:
- MimeDel.py
- Moderate.py
- Scrubber.py
- SpamDetect.py
- ToDigest.py
In my case mlist.filter_action == 3 though. Anyway, I was wondered when i found mlist.filter_content set to 1. Though filter_mime_types was empty and xls/doc wasn't in filter_filename_extensions
Im not sure if i found the real reason of why message was discrded, but i set filter_action to 0. In this case, the handler won't process the message at all:
And just to make sure i will know the name of the handler which discard the message next time ( if this happens again), i added a bit more info to the logging string in _dopipeline method:
To be continued... :)