...
The easiest way to integrate postfix and spamassassin is to use spamd. See IntegratedSpamdInPostfix.
First, edit /etc/postfix/master.cf, find the
No Format |
---|
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (50)
# ==========================================================================
...
smtp inet n - n - - smtpd
...
|
line and just add " -o content_filter=spamassassin" to the end of the line:
No Format |
---|
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (50)
# ==========================================================================
...
smtp inet n - n - - smtpd -o content_filter=spamassassin
...
|
Then, go to the end of the file, and add this:
No Format |
---|
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (50)
# ==========================================================================
...
spamassassin
unix - n n - - pipe
user=nobody argv=/path/to/spamc -f -e /path/to/postfix/sendmail -oi -f ${sender} ${recipient}
# make sure it's all on one line or
# start the consecutive lines with a whitespace
# like I did here
|
Then, setup spamd to start with the system, and you are ready to go. If you wish to provide spamassassin preferences, change "user=nobody" to a valid system user (except for root, since Postfix will NOT call external programs as root), and add .spamassassin into that user's home directory.
Wiki Markup |
---|
Note that this exact method of invoking [SpamAssassin] is not very robust. Should spamc for some reason fail to start, Postfix will start bouncing mail. A more robust but also more I/O-intensive solution is the one proposed in the \[http://www.postfix.org/FILTER_README.html FILTER_README file\] that comes with the Postfix distribution. |
Only mail received by SMTP will be scanned with this method, i.e. mail injected with sendmail(1) will not be fed to SpamAssassin.
Alternatively, a more complex scheme is to integrate it using Amavis, as described in IntegratedInPostfixWithAmavis.
...