NAME
    spamassassin - mail filter to identify spam using text analysis

SYNOPSIS
    spamassassin [option ...] < mailmessage
    spamassassin -P [option ...] < mailmessage > output
OPTIONS
    -P  Normally SpamAssassin will write the rewritten message to the mail
        spool by default. The -P parameter will cause it to pipe the output
        to STDOUT instead.

    -h  Print help message and exit.

    -t  Test mode. Pipe message through and add extra report.

    -r  Report this message as verified spam. This will submit the mail
        message read from STDIN to various spam-blocker databases, such as
        Vipul's Razor ( http://razor.sourceforge.net/ ).

        If the message contains SpamAssassin markup, this will be stripped
        out automatically before submission.

    -w *fromaddr*
        This flag is only useful in conjunction with -r. It will send a
        reply mail to the sender of the tested mail, notifying them that
        their message has been trapped as spam, from the address supplied in
        *fromaddr*. See the SPAM TRAPPING entry elsewhere in this document.

    -l *filename*
        Log all mail messages that pass through the filter, to an
        mbox-format file named by *filename*. Handy for use with -r and -w.

    -L  Do only the ''local'' tests, ones that do not require an internet
        connection to operate. Normally, SpamAssassin will try to detect
        whether you are connected to the net before doing these tests
        anyway, but for faster checks you may wish to use this.

    -d  Remove SpamAssassin markup (the "SpamAssassin results" report,
        X-Spam-Status headers, etc.) from the mail message. The resulting
        message, which will be identical to the original, pre-SpamAssassin
        input, will be output to stdout.

    -c *config*
        Read configuration from *config*.

    -p *prefs*
        Read user score preferences from *prefs*.

    -D  Product diagnostic output.

DESCRIPTION
    SpamAssassin is a mail filter 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 is then tagged as spam for later filtering
    using the user's own mail user-agent application.

    SpamAssassin also includes support for reporting spam messages to
    collaborative filtering databases, such as Vipul's Razor (
    http://razor.sourceforge.net/ ).

    The default tagging operations that take place are detailed in the
    TAGGING entry elsewhere in this document.

CONFIGURATION FILES
    The rule base, text templates, and rule description text are loaded from
    the configuration file. The default configuration file, if -c is not
    specified, is $Config{installsitelib}/spamassassin.cf.

    The user preferences (such as scores to attach to each rule), are loaded
    from the file specified in the -p argument. If this is not specified,
    ~/.spamassassin.cf is used if it exists, otherwise
    $Config{installsitelib}/spamassassin.prefs is used.

TAGGING
    The following two sections detail the tagging that takes place for spam
    messages, first of all, and for non-spam messages.

    Note that if you use the -t argument, all mails will be tagged as if
    they are spam messages.

  TAGGING FOR SPAM MAILS

    The modifications made are as follows:

    Subject: header
        The string `*****SPAM*****' is prepended to the subject.

    X-Spam-Status: header
        A string, `Yes, hits=nn required=nn' is set in this header to
        reflect the filter status.

    X-Spam-Flag: header
        Set to `YES'.

    Content-Type: header
        Set to `text/plain', in order to defang HTML mail or other active
        content that could "call back" to the spammer.

    spam mail body text
        The SpamAssassin report is added to top of the mail message body.

  TAGGING FOR NON-SPAM MAILS

    X-Spam-Status: header
        A string, `No, hits=nn required=nn' is set in this header to reflect
        the filter status.

SPAM TRAPPING
    Quite often, if you've been on the internet for a while, you'll have
    accumulated a few old email accounts that nowadays get nothing but spam.

    SpamAssassin lets you set them up as aliases, as follows:

    spamtrap1: "| /path/to/spamassassin -r -w spamtrap1"
    This will add any incoming mail messages straight into spam-tracking
    databases, such as Vipul's Razor; send an explanatory reply message to
    the sender, from the *spamtrap1* address; then drop the mail into the
    bit-bucket.

    The explanatory reply text is taken from the SpamAssassin configuration
    file, where it is stored in the `spamtrap' lines.

    If you want to keep a copy of the mails, use something like this:

    spamtrap1: "| /path/to/spamassassin -r -w spamtrap1 -l /var/spam/caught"
    It is suggested you familiarise yourself with how MTAs run programs
    specified in aliases, if you plan to do this; for one thing,
    spamassassin will not run under your user id in this case. If you are
    nervous about this, create a user for spamtrapping, and set up
    spamassassin in it's .forward file.

INSTALLATION
    The spamassassin command is part of the Mail::SpamAssassin Perl module.
    Install this as a normal Perl module, using `perl -MCPAN -e shell', or
    by hand.

ENVIRONMENT
    No environment variables, aside from those used by perl, are required to
    be set.

SEE ALSO
    Mail::SpamAssassin(3) Mail::Audit(3) Razor(3)

AUTHOR
    Justin Mason <jm /at/ jmason.org>

PREREQUISITES
    `Mail::Audit'

COREQUISITES
    `Net::DNS' `Razor'

