Click here to get rid of any annoying frames


Unix Client Side Spam Filters: Delete Spam off POP3

Remove items identified as spam from the server before you download them. (KDE) (Defunct)

Mailfilter - The Anti-Spam Utility

General Information:

Mailfilter is a flexible utility for Unix (-like) operating systems to get rid of unwanted spam mails, before having to go through the trouble of downloading them into the local computer. It offers support for one or many POP accounts and is especially useful for dialup connections via modem, ISDN, etc.

Mailfilter connects to any POP mail box and compares part of its content to a set of user defined filter rules. That way the spam gets deleted directly on the mail server.

With Mailfilter you can define your own filters (rules) to determine which e-mails should be delivered and which are considered waste. Rules are regular expressions, so you can make use of familiar options from other mail delivery programs such as e.g. procmail.

Mailfilter is released under the terms of the GNU General Public License. For more information, see the README and COPYING documents provided with the Mailfilter program.

Program Features:

Current Status:

Oct-26-2003:    Released 0.6 - Stable Version


Current version 1.0rc1

What is This?

SaveMyModem is a anti-spam, mail-shaper, delete-on-server software thought for users who have a dialup connection and are sick and tired of downloading 1MB a day of spam and Win32-worm-attached messages. Since now it supports only pop3 accounts, and smtp accounts for complaining.

Why this software exists?

There are some other delete-on-server mail-filter programs, like mailfilter, but I've not found one with all these functions:


Filter only, no retrieval

It deletes spams from POP server. You have to rely on other MTA (e.g., fetchmail, etc) to fetch what are left.

Limited rules

Allowed variables are:


No "Any-Sender", which could be
"From:", "Apparently-From:", "Sender:", "Reply-To:", "X-Sender:", "Envelope-From:" and "X-Envelope-From:":

        load() Any-Sender: "boss@compa.ny" -@Subject:"You are fired!"

Neither have "Any-Recipient", which could be "To:", "Apparently-To:", "CC:", "BCC:", "Envelope-To:", "X-Envelope-To:", "Original-Recipient:", "X-Resent-For:", "X-Resent-To:" and "Resent-To:".

No way to work on other headers. So there is no way to take advantage of headers from SpamAssassin, or construct rule like from_daemon in procmail.

Allowed ruletype are :


Plugin list

All the plugins are packed with smm.

    * Inspector: Regular expression based checks.
    * Yahoopops: Start/Stop Yahoopops with one click.
    * Dummy: A stupid but bug free plugin. That's true. Belive me!
    * Rblcheck: Checks if the sender of the message is a spammer using blacklists.
    * Pop3: Interface between smm and a pop3 server.
    * Spamassassin: Checks the partially downloaded mail with SpamAssassin

Why plugins?

    * open source development: open source is a great thing, but is hard to
      keep control over a software made by a lot of people. Usually the open
      source development process is "anarchic", but since this software is
      firstly made by me, I'd like to keep control over it; in simple words
      I want to look at all the code. I love when someone sends me patches,
      and I hate when I send someone my patches and he integrates them
      totally changing them. So plugins are a good way to allow people to
      expand the software, writing code in theyr own way, without making me
      mad to find what they have changed.

    * stability: smm is 15861 lines (version 1.0rc1):
          o ~ 27% is real smm code.
          o ~ 17% is glade code.
          o ~ 21% is smm_libs code.
          o ~ 33% is plugin code.

      ~ 21% of the code is well tested since smm_libs is old code used in
      other applications, ~ 17% is made by glade that is probably better
      than me in writing gtk code. The real smm is only 4405 lines! Some
      plugins integrate code made by glade. Each plugin is small and easy to
      test. You don't need to use all plugins. You surely know that a small
      software is probably more stable than a big one, and a software
      achitecture like this one is not the usual hell.

    * new features: With a plugin you can add new features without changing
      smm core code, and you can use your own language (the only requested
      thing is a simple C interface, nobody cares if the plugin calls an
      external python/perl/ocaml/C++/... software).

    * fun: I write software for fun, and I've never used plugins before
      smm. So it is interesting to me.


Multithreaded mail download speeds up the download process since it connects simultaneously to all your pop3 accounts. This avoids big network latencies, like hostname resolution via DNS or connection to an hi-loaded server. Under Linux this approach makes possible to redraw the guy during the download process, and this cuts out the annoying guy freeze. Under windows this is not possible because of a "conflict" between gtk and threads, so the GUI may freeze, but the download speed is increased.


SpamAssassin is probably the best way to protect yourself from spam. Smm can use the powerful spamassassin engine on the partially downloaded messages. Yes! You can check your mail with spamassassin without downloading the whole message. With this plugin smm adds to its ligthweigth bandwidth usage the power of spamassassin! Enjoy.


Popsneaker is a mailfilter for remote filtering of POP3 email accounts. It is useful for computers which have a dial-in connection to the internet. You can define rules to select emails, which you don't want to download to your local host. This is a simple and effective way to get rid of spam, advertisings and other kinds of unwanted mail. The filter rules are very flexible and powerful, but still easy to handle. The main ruletypes are using regular expressions to deny, to accept or to make an assumption on the mail.


DisSpam - Default branch

DisSpam is a personal solution to combat unwanted email (i.e. not for mail servers/ISPs). It is a Perl script that accesses POP3 mailboxes and can block/forward mail based on SpamAssassin, built-in blacklist (RBL) checks, or configurable expression matches. It can be run through a variety of ways, including cron, and uses a very simple yet versatile configuration file.

lpopr - the LittlePOPReader

'lpopr' was built to retrieve mail from one or more POP3 servers and deliver them locally or to a specified host. It thus has a much smaller scope than Eric Raymond's fetchmail, but after running into problems with fetchmail repeatedly, I decided to code my own solution (well, to be honest, any excuse is good enough to do a little programming:-).

For good measure I added support for a spam filter to delete unwanted mail before downloading it. The decision what to delete can be based on the mail headers as well as on the size of the mail (ever had a 4meg mail on the other side of your modem?).

AntiSPAM 2

AntiSpam will detect SPAM and remove it from your Incoming folder. AntiSpam2 has a appr. hit rate of >70% . Because it`s more or less self-learning each new SPAM added to the internet database @ will increase the Hitaccurance step by step. A more advanced algorithm is possible, so it may be better in the future.


spamass-pop3 - Fetch mail from POP3 server, run it through SpamAssassin and kill it if it's spam.

<< 2003.12.02 Tue

Last updated on: Fri Dec 26 17:35:26 EST 2003

TOC Logo