I use mailscanner on all of my incoming mail. Mailscanner uses Mail::SpamAssassin, which does precisely the sort of thing you're looking for, and supplements it with things like RBL and Vipul's Razor. (These are both ways of detecting spam by checking against known spam-senders and known spams out there.) Mailscanner is written in Perl, and is very actively supported. It also will scan your incoming e-mail for viruses, which is a big help.

I've been running this setup for about three months, and I've found it works very well. I use fetchmail to download my mail to my internal mailserver (an old Pentium Pro machine), then scan everything with mailscanner. (I also pipe my outgoing mail through mailscanner... if I get a virus through some other means, I will infect no one else.) I use procmail to sort my mail into different folders, including a Spam directory for all autodetected spam. Then I access this from my desktop machine over IMAP.

As for the best way to run a firewall and mail services on the same machine-- the various Linux howtos I read indicated that this was a Bad Thing To Do. I'm not an expert on the subject, though. Is there a LinuxMonks out there?

stephen


In reply to Re: Email filtering by stephen
in thread Email filtering by John M. Dlugosz

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.