Retrieving Emails From Remote Servers With getmail (Debian Etch) Page 2
By admin on May 13, 2010 with Comments 0
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.
Filed Under: Debian













