Just a note on the difference. The problem itself was fixed.
Andreas Barth writes:
Any hint how to get rid of [this file]? 'mailman unshunt' doesn't do it, it's in queue/bounces and not queue/shunt.
A *shunted* post is an *undistributed* post that raised an exception that Mailman doesn't know how to handle usefully, so instead of continuing normal processing it stuffs it into the "dead-end" shunt queue, which is processed by hand, not by Mailman. 'mailman unshunt' tells Mailman that it is "fixed" and ready to continue processing, and moves it back into the normal pipeline to be processed and sent.
A *bounced* post has been *sent* already, and the problem is at the receiver, not with the post as Mailman got it. Since it has been sent already, unshunt would do the wrong thing. Also, the bounce runner will do the right thing once it's restarted.
In fact, for "stuck files" in any queue except shunt, the first answer is "restart the corresponding runner". It is the presence of a file in the queue directory that triggers processing. If it stays stuck, then I guess you call Ghostbusters (us).
I should add this as a FAQ or the docs as "What is shunt?" but it's not obvious to me which is better, and if the docs, where. Comments welcome.