I've been using GMail ever since they decided to allow users to download their mail using POP. I was happy reading my email as usual in mutt. The only problem was that I had to log onto the website once in a while to clear out my spam folder and fish out the false positives.

However, as the amount of spam I receive daily started growing exponentially (in part thanks to my involvement in Debian), I became more and more dissatisfied with this solution. I had to login several times a day just to keep the levels of spam down to a manageable level. I tried emailing the GMail support team a few times without success.

The solution came just as I was looking at switching to a different email provider: IMAP access.

Using fetchmail, I can now download my received and sent mail using POP and then download (and purge) the contents of my spam folder. Here are the relevant lines of my ~/.fetchmailrc:

poll pop.gmail.com protocol pop3 user "fmarier@gmail.com" is "francois" password "" fetchall ssl
poll imap.gmail.com protocol imap user "fmarier@gmail.com" is "francois" password "" folder "[Gmail]/Spam" fetchall ssl

I can then run all of my mail through my own SpamAssassin filter (to which I added these excellent custom rules) and sort my mail in one of three folders:

  • definitely spam (conveniently located in /dev/null) for a score greater than 12
  • probably spam (I need to check those manually once in a while)
  • not spam for messages with a score less than 5

This is done using procmail with the following bit in my ~/.procmailrc:

# Use spamassassin to check for spam
# (only check messages < 400kB so that it doesn't choke)
* < 409600
| /usr/bin/spamc

# Throw away messages with a score of > 12.0
* ^X-Spam-Level: \*\*\*\*\*\*\*\*\*\*\*\*

* ^X-Spam-Status: Yes

The easier way to do this is to create a Gmail Filter.

  1. Set up a new filter.

  2. Add to the "Has the Words" field "is:spam"

  3. Click the "Next Step" button, disregard any warning messages.

  4. Check the boxes "Skip the inbox" and "Delete it".

  5. Save the filter.

Now any items that would hit the Spam folder go directly to Trash and are automatically deleted in 30 days.


Comment by RickyF
Do you really think that it's necessary to lock /dev/null? ;)
Comment by Anonymous
RickyF: you're missing the point completely. The goal is to manage Gmail's spam, not delete it - reason probably being that Gmail sometimes incorrectly marks email as spam.
Comment by LudoA
Google filter is very useful, i configure it to prevent directing any email to spam
Comment by ExistenceGuest

This tip is very usefull, specificaly when you want to manage your own spam filter.

@RickyF : yes it's possible to delagate to google. That wasn't the point.

Comment by Anonymous

I too have an unmanageable amount of spam in my Gmail spam folder. Having to scan a thousand messages a day for possibly 1 or 2 that isn't spam is quite annoying.

I came upon this script to allow me to use spamassassin and still read my mail using the gmail interface.


I run it on my [Gmail]/Spam folder instead of the Inbox

Comment by Jeremy