| |
| Welcome to SpamAssassin! |
| ------------------------ |
| |
| SpamAssassin is a mail filter which attempts to identify spam using text |
| analysis and several internet-based realtime blacklists. |
| |
| Using its rule base, it uses a wide range of heuristic tests on mail |
| headers and body text to identify "spam", also known as unsolicited |
| commercial email. |
| |
| Once identified, the mail can then be optionally tagged as spam for later |
| filtering using the user's own mail user-agent application. |
| |
| SpamAssassin typically differentiates successfully between spam and |
| non-spam in between 95% and 99% of cases, depending on what kind |
| of mail you get. |
| |
| SpamAssassin also includes support for reporting spam messages |
| automatically, and/or manually, to collaborative filtering databases such |
| as Vipul's Razor [1]. |
| |
| [1]: http://razor.sourceforge.net/ |
| |
| The distribution provides "spamassassin", a command line tool to perform |
| filtering, along with "Mail::SpamAssassin", a set of perl modules which |
| implement a Mail::Audit plugin, allowing SpamAssassin to be used in a |
| Mail::Audit filter, spam-protection proxy SMTP or POP/IMAP server, or a |
| variety of different spam-blocking scenarios. |
| |
| In addition, Craig Hughes has contributed "spamd", a daemonized version of |
| SpamAssassin, which runs persistently. Using "spamc", a lightweight C |
| client, this allows an MTA to process large volumes of mail through |
| SpamAssassin without having to fork/exec a perl interpreter for each one. |
| |
| Ian R. Justman has contributed "spamproxy", a spam-filtering SMTP proxy |
| server. This lives in the "released" directory on the web site. |
| |
| SpamAssassin lives at http://spamassassin.org/ or in CPAN, and is |
| distributed under the same license as Perl itself. Use of the |
| SpamAssassin name is restricted as documented in the file named "Trademark". |
| |
| This module owes a lot of inspiration to Mark Jeftovic's filter.plx, which |
| I used for a long time, and contributed some code to. However, |
| SpamAssassin is a ground-up rewrite with a new, greatly improved ruleset, |
| a different code model and installation system, and hopefully will be easy |
| to adapt for a multitude of applications. |
| |
| [2]: http://AntiSpam.shmOOze.net/filter/ |
| |
| Questions regarding SpamAssassin should be sent to the mailing list: |
| <spamassassin-talk /at/ lists /dot/ sourceforge /dot/ net>. |
| |
| |
| |
| Installing SpamAssassin |
| ----------------------- |
| |
| See the INSTALL file. |
| |
| |
| |
| Customising SpamAssassin |
| ------------------------ |
| |
| These are the configuration files installed by SpamAssassin. The commands |
| that can be used therein are listed in the POD documentation for the |
| Mail::SpamAssassin::Conf class (run the following command to read it: |
| "perldoc Mail::SpamAssassin::Conf"). |
| |
| - /usr/share/spamassassin/*.cf: |
| |
| Distributed configuration files, with all defaults. Do not modify |
| these, as they are overwritten when you upgrade. |
| |
| - /etc/mail/spamassassin/*.cf: |
| |
| Site config files, for system admins to create, modify, and |
| add local rules and scores to. Modifications here will be |
| appended to the config loaded from the above directory. |
| |
| - /usr/share/spamassassin/user_prefs.template: |
| |
| Distributed default user preferences. Do not modify this, as it is |
| overwritten when you upgrade. |
| |
| - /etc/mail/spamassassin/user_prefs.template: |
| |
| Default user preferences, for system admins to create, modify, and |
| set defaults for users' preferences files. Takes precedence over |
| the above prefs file, if it exists. |
| |
| Do not put system-wide settings in here; put them in the |
| /etc/mail/spamassassin directory. This file is just a template, |
| which will be copied to a user's home directory for them to |
| change. |
| |
| - $USER_HOME/.spamassassin: |
| |
| User state directory. Used to hold spamassassin state, such |
| as a per-user automatic whitelist, and the user's preferences |
| file. |
| |
| - $USER_HOME/.spamassassin/user_prefs: |
| |
| User preferences file. If it does not exist, one of the |
| default prefs file from above will be copied here for the |
| user to edit later, if they wish. |
| |
| Unless you're using spamd, there is no difference in |
| interpretation between the rules file and the preferences file, so |
| users can add new rules for their own use in the |
| "~/.spamassassin/user_prefs" file, if they like. (spamd disables |
| this for security and increased speed.) |
| |
| After installation, try "perldoc Mail::SpamAssassin::Conf" to see what |
| can be set. Common first-time tweaks include: |
| |
| - required_hits |
| |
| Set this higher to make SpamAssassin less sensitive. |
| If you are installing SpamAssassin system-wide, this is |
| **strongly** recommended! |
| |
| Statistics on how many false positives to expect at various |
| different thresholds are available in the "STATISTICS.txt" file in |
| the "rules" directory. |
| |
| - rewrite_subject |
| |
| Turn off Subject-line rewriting with this. |
| |
| - subject_tag |
| |
| When rewrite_subject is on, the subject stamp is *****SPAM*****. |
| This can be used to change it. |
| |
| - ok_locales |
| |
| If you expect to receive mail in non-ISO-8859 character sets (ie. |
| Chinese, Cyrillic, Japanese, Korean, or Thai) then set this. |
| |
| - defang_mime |
| |
| By default, SpamAssassin will 'de-fang' MIME messages, turning |
| them into content-type text/plain. This will turn that behaviour |
| off. |
| |
| |
| |
| Locali[sz]ation |
| --------------- |
| |
| All text displayed to users is taken from the configuration files. This |
| means that you can translate messages, test descriptions, and templates |
| into other languages. |
| |
| If you do so, I would *really* appreciate if you could send a copy back of |
| the updated messages; mail them to |
| <spamassassin-talk@lists.sourceforge.net> . Hopefully if it takes off, I |
| can add them to the distribution as "official" translations and build in |
| support for this. You will, of course, get credited for this work ;) |
| |
| |
| |
| Help With SpamAssassin |
| ---------------------- |
| |
| There's a mailing list for support or discussion of SpamAssassin. It |
| lives at <spamassassin-talk@lists.sourceforge.net>. See |
| http://spamassassin.org/lists.html for the sign-up address and a |
| link to the archive of past messages. |
| |
| |
| |
| Commercial Tests |
| ---------------- |
| |
| There are several tests in the spamassassin configuration file which are |
| turned off by default, namely the mail-abuse.org and bl.spamcop.net tests. |
| The mail-abuse.org tests are RCVD_IN_RBL, RCVD_IN_RSS, and RCVD_IN_DUL; |
| the bl.spamcop.net test is called RCVD_IN_BL_SPAMCOP_NET. |
| |
| These are commercial services, so you need to pay money to use them. |
| Having said that, the bl.spamcop.net service gets my recommendation as the |
| most useful blacklisting DNS service I've found. More information on it |
| can be found at http://spamcop.net/bl.shtml . |
| |
| The mail-abuse.org tests are free for personal use, for now -- so if |
| you're using SpamAssassin as a personal mail filter you may turn them on. |
| More information on the mail-abuse.org services can be found here: |
| http://mail-abuse.org/rbl+/ and |
| http://www.mail-abuse.org/feestructure.html . |
| |
| To turn on the tests, simply assign them a non-zero score, e.g. by adding |
| these lines to your ~/.spamassassin/user_prefs file: |
| |
| score RCVD_IN_RBL 10 |
| score RCVD_IN_RSS 1 |
| score RCVD_IN_DUL 1 |
| score RCVD_IN_BL_SPAMCOP_NET 4 |
| |
| |
| |
| Automatic Whitelist System |
| -------------------------- |
| |
| SpamAssassin includes automatic whitelisting; The current iteration is |
| considerably more complex than the original version. The way it works is |
| by tracking for each sender address the average score of messages so far |
| seen from there. Then, it combines this long-term average score for the |
| sender with the score for the particular message being evaluated, after |
| all other rules have been applied. |
| |
| This functionality is off by default, and is enabled with the "-a" flag to |
| either spamassassin or spamd. |
| |
| A system-wide auto-whitelist can be used, by setting the |
| auto_whitelist_path and auto_whitelist_file_mode configuration commands |
| appropriately, e.g. |
| |
| auto_whitelist_path /var/spool/spamassassin/auto-whitelist |
| auto_whitelist_file_mode 0666 |
| |
| The spamassassin -W and -R command line flags provide an API to add and |
| remove entries 'manually', if you so desire. They operate based on an |
| input mail message, to allow them to be set up as aliases which users can |
| simply forward their mails to. See the spamassassin manual page for more |
| details. |
| |
| The default address-list implementation, |
| Mail::SpamAssassin::DBBasedAddrList, uses Berkeley DB files to store the |
| addresses. There may be synchronization issues with this implementation |
| in an NFS environment. Reasonable attempts have been made to ensure |
| proper locking of the DB file, but it may yet be somewhat flakey. |
| |
| |
| |
| (end of README) |
| |
| // vim:tw=74: |