banner ad

Retrieving Emails From Remote Servers With getmail (Debian Etch) Page 2

Getmail is a program for retrieving emails from remote servers; it
is very similar to fetchmail, but more flexible. For example, it can be
configured to deliver mails directly to a Maildir or mbox mailbox
without the need for an MTA such as Postfix, but of course it can also
pipe the mails through an MTA if you want. Getmail can use so called
filters such as SpamAssassin and ClamAV to scan the mails, and you can
even tell getmail to delete mails on the original server only after a
certain number of days.

4 Integrating SpamAssassin Into getmail

If you’d like getmail to invoke SpamAssassin, you can do it as follows:

First we must install SpamAssassin. As root, we run

apt-get install spamassassin spamc

Then we must configure SpamAssassin. This can be done in the file /etc/mail/spamassassin/local.cf. A valid file could look like this:

vi /etc/mail/spamassassin/local.cf

rewrite_header Subject *****SPAM*****required_score 5.0use_bayes 1
bayes_auto_learn 1
bayes_ignore_header X-Bogosity
bayes_ignore_header X-Spam-Flag
bayes_ignore_header X-Spam-Status
bayes_ignore_header X-getmail-filter-classifier

(The comments in /etc/mail/spamassassin/local.cf will tell you more about the above settings.)

If you enable Bayes (use_bayes 1), it is important that you put the line

bayes_ignore_header X-getmail-filter-classifier

into /etc/mail/spamassassin/local.cf so that Bayes ignores headers added by getmail.

Finally we must enable the SpamAssassin daemon by setting ENABLED to 1 in /etc/default/spamassassin:

vi /etc/default/spamassassin

[...]
ENABLED=1
[...]

Then we start the SpamAssassin daemon:

/etc/init.d/spamassassin start

Now log in as falko again on the command line and open ~/.getmail/getmailrc and add the following [filter] section:

vi ~/.getmail/getmailrc

[...][filter]
type = Filter_external
path = /usr/bin/spamc
arguments = ("-s 250000", )

(If this is not your first [filter] section, you must rename the first [filter] section to [filter-1], the second one to [filter-2], and so on.)

That’s it. SpamAssassin is now integrated into getmail.

 

5 Integrating ClamAV

ClamAV is a project that publishes new releases very often, and once a new release is published, old versions will print out warnings. Therefore we must make sure that we install the latest ClamAV release by adding the following line to /etc/apt/sources.list (as root):

vi /etc/apt/sources.list

[...]
deb http://volatile.debian.org/debian-volatile etch/volatile main contrib non-free
[...]

Afterwards we update our packages database:

apt-get update

(- if you get GPG warnings, you can ignore them -)

and install ClamAV:

apt-get install clamav clamav-base clamav-daemon clamav-freshclam

Then log in as the user falko again and edit ~/.getmail/getmailrc. If you want getmail to delete virus emails, add the following filter:

vi ~/.getmail/getmailrc

[...]# Drop infected messages
[filter]
type = Filter_classifier
path = /usr/bin/clamdscan
arguments = ("--stdout", "--no-summary", "-")
exitcodes_drop = (1, )

If you want getmail to deliver infected messages, add the following filter instead:

vi ~/.getmail/getmailrc

[...]# Keep infected messages
[filter]
type = Filter_classifier
path = /usr/bin/clamddscan
arguments = ("--stdout", "--no-summary", "-")
exitcodes_keep = (0,1)

Again, keep in mind what I said about multiple [filter] sections in the previous chapter:

If this is not your first [filter] section, you must rename the first [filter] section to [filter-1], the second one to [filter-2], and so on.

That’s it for the ClamAV integration.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

Filed Under: Debian

Tags:

RSSComments (0)

Trackback URL

Leave a Reply




If you want a picture to show with your comment, go get a Gravatar.