...
If you have virtual users (as opposed to plain *nix users) , it is vital that you make sure that courier-mta (as well as courier-imap and courier-pop) uses the authdaemon as authentication module. That means that in /etc/courier/esmtpd
, imapd
and pop3d
the variable AUTHMODULES should be set to "authdaemon"
. Keep in mind that your courier config files may be in another directory. The authdaemon has to be configured to use the right authentication modules (mysql, userdb, whatever). Then patch SpamAssassin according to http://da.andaka.org/Doku/courier-spamassassin.html so that SpamAssassin can ask authdaemon for the whereabouts of the maildirs of virtual users (and plain users too — but if you only have plain users, you may skip this step)you may have to let Spamassassin know where to find per-user preferences. This can be done by passing the username as an option to spamc using Courier's maildroprc config file as shown below, and then using the spamd --virtual-config-dir option. You can omit this if using only system-wide preferences.
To let Courier MTA use maildrop as default for delivery, edit /etc/courier/courierd
and set DEFAULTDELIVERY
to "| /usr/bin/maildrop"
(or whereever wherever your maildrop binary is). Then edit /etc/courier/maildroprc
, the central maildrop script:
No Format |
---|
exceptionimport {USER if ($LOGNAME ne "") { xfilter "/usr/bin/vendor_perl/spamc -u $LOGNAME" } else exception { xfilter "/usr/bin/vendor_perl/spamc include "$HOME/.mailfilter-u $USER" } |
Via the xfilter line, maildrop pipes its contents through spamc
...
before delivery.