3.10. How do I enforce a text/plain posts only policy?
For Mailman 2.0:
In Privacy Options -> Spam-specific posting filters
Hold posts with header value matching a specified regexp.
Content-Type: .*octet Content-Type: .*oda Content-Type: .*audio Content-Type: .*image Content-Type: .*alternative Content-Type: .*digest Content-Type: .*mixed Content-Type: .*related Content-Type: .*rich Content-Type: .*html Content-Type: .*video
Sample Rejection Message:
Content-Type: (from message header) X-Mailer: (from message header) Please configure your email client  to send text/plain messages to this list. Instead of attachments, you should include any diagnostic information as in-line text in the main message body.  http://www.expita.com/nomime.html Details: Only messages with a Content-type: of "text/plain" and "multipart/signed" are automatically posted to the list. All other content-types are held for administrative action. If you have any questions about this policy, please send them to <yourlist-admin@yourdomain>.
An alternate solution is to use a mime stripping script. FAQ 1.8 explains how to do this.
For Mailman 2.1
Use the following Content filtering settings:
filter_content - Yes
filter_mime_types - empty
multipart message/rfc822 (if you want to allow plain text parts in attached messages) text/plain text/html (if you want to allow HTML only posts and convert them to plain text)
filter_filename_extensions - default settings or empty
pass_filename_extensions) - empty
collapse_alternatives - Yes
convert_html_to_plaintext - Yes
filter_action - as desired
This is one of many Frequently Asked Questions.