diff options
Diffstat (limited to 'Mailman/docs/antispam.txt')
| -rw-r--r-- | Mailman/docs/antispam.txt | 75 |
1 files changed, 0 insertions, 75 deletions
diff --git a/Mailman/docs/antispam.txt b/Mailman/docs/antispam.txt deleted file mode 100644 index 3ad5e982e..000000000 --- a/Mailman/docs/antispam.txt +++ /dev/null @@ -1,75 +0,0 @@ -Anti-spam defences -================== - -By design, Mailman does not have very sophisticated anti-spam measures because -this type of filtering is done much more efficiently at the MTA level. For -example, if Mailman were to do spam detection, it could not reject the message -at SMTP time. - -Still, Mailman does employ a small number of rather ham-handed anti-spam -measures. - - >>> from Mailman.Handlers.SpamDetect import process - >>> from Mailman.queue import Switchboard - >>> from Mailman.configuration import config - >>> mlist = config.db.list_manager.create(u'_xtest@example.com') - - -Short circuiting ----------------- - -If a message is pre-approved, this handler does nothing. - - >>> msg = message_from_string("""\ - ... From: aperson@example.com - ... - ... An important message. - ... """) - >>> msgdata = {'approved': True} - >>> process(mlist, msg, msgdata) - >>> print msg.as_string() - From: aperson@example.com - <BLANKLINE> - An important message. - <BLANKLINE> - >>> msgdata - {'approved': True} - - -Header matching ---------------- - -There is a global configuration variable that can be set to a list of header -matches. Each item in that list is a 2-tuple of the header to match and a -regular expression. For example, if we wanted to block all message that come -from 'aperson' regardless of the domain, we'd do something like the following -in our mailman.cfg file: - - >>> old_value = config.KNOWN_SPAMMERS[:] - >>> config.KNOWN_SPAMMERS.append(('from', 'aperson')) - -Now if the same message is posted to the mailing list, and that message is not -pre-approved. The handler will throw an exception that signals the message is -spam. - - >>> msgdata = {} - >>> process(mlist, msg, msgdata) - Traceback (most recent call last): - ... - SpamDetected - >>> print msg.as_string() - From: aperson@example.com - <BLANKLINE> - An important message. - <BLANKLINE> - >>> msgdata - {} - - # Restore global state - config.KNOWN_SPAMMERS = old_value - - -Header filter rules -------------------- - -XXX Need tests. |
