There are several versions of this problem. If you have a moderated list, you may, as moderator, get flooded with spam posts from non-members that you have to constantly go to the web interface to discard over and over again.
If you have an open list, the list itself may get flooded with spam messages.
In either case, there are a few steps that you can take to help deal with the problem.
For starters, it’s a good idea to outright discard posts by non-members. That means that if someone sends an email to your list who is not subscribed, it will simply be discarded. The name of the option is:
Action to take for postings from non-members for which no explicit action is defined.
You can get to it from your mailman web site: https://lists.critpath.org/cgi-bin/mailman/admin/YOUR-LIST-NAME/privacy/sender
(or you can click Privacy Settings -> Sender Filters).
You can continue to receive notifications of messages that were discarded (to make sure legitimate posts are not discarded) by setting Should messages from non-members, which are automatically discarded, be forwarded to the list moderator? to Yes. However, by automatically discarding them, you are saved the step of manually discarding each one as it comes in.
In addition, you can add spam checking to your list. You can tell Mailman to discard or hold any message sent to the list that has been detected as spam by modifying this setting: https://lists.critpath.org/cgi-bin/mailman/admin/YOUR-LIST-NAME/privacy/spam
Or you can click Privacy Settings -> Spam Filters.
And adding: X-Spam-Flag: YES to the Spam Filter Regexp field and then choosing the action to take (I would recommend starting with Hold in order to test it; then, if it seems to be working, changing to discard).