[Mailman-Users] failing qrunner

Mark Sapiro msapiro at value.net
Sat Sep 15 20:28:34 CEST 2007


Jaco Kroon wrote:
>
>What I want to know is how mailman handles the message delivery runs.
>Afaik each message that needs to go out is stored in some location,
>along with a list of recipients, so periodically mailman checks which
>messages needs to go out, and to which recipients, and it then tries to
>make those deliveries, removing the recipients that it successfully
>delivers.


That is correct.

Assuming this is at least Mailman 2.1.x, the messages to be sent are
placed in Mailman's 'out' queue (normally Mailman's qfiles/out/
directory) and picked up and delivered by OutgoingRunner. If the MTA
returns a non-retryable failure for one or more recipients, that is
logged in Mailman's smtp-failure log and treated as a bounce for the
failed recipients.

If the MTA returns a retryable failure for one or more recipients, that
is also logged in Mailman's smtp-failure log and the message is queued
in the 'retry' queue for delivery to the failed recipients. Every 15
minutes, RetryRunner moves the message from the retry queue back to
the out queue.

This continues for DELIVERY_RETRY_PERIOD (default 5 days) after which,
Mailman gives up on this message.


>Is there a manual way to remove the problem-causing email
>addy from this list for the particular message?  We've already removed
>it from the main list so it won't cause issues in future but it's now
>holding up the delivery of an already sent message.

First find the entry (a long, mostly numeric, name ending in .pck) in
qfiles/retry, and move that file aside. Then use Mailman's bin/dumpdb
to dump the file. This will output the raw message and the message
metadata. The metadata contains a list of 'recips' which is the
addresses remaining to be delivered.

If you are proficient in Python, you could write a short script to
unpickle the message and metadata from the file, remove the bad
recipient from recips and repickle the message and metadata. then you
could put the file in qfiles/out for delivery. (I'm currently
debugging one I just wrote - I'll post a link soon).

Alternatively, you could just remail the message outside of mailman to
the remaining recipients.

-- 
Mark Sapiro <msapiro at value.net>       The highway is for gamblers,
San Francisco Bay Area, California    better use your sense - B. Dylan



More information about the Mailman-Users mailing list