What to do with SpamAssassin after installing Amavis?
As far as I know, Amavis
has SpamAssassin
on his own (I think Perl Mail::SpamAssassin).
Before installing Amavis
, I was using SpamAssassin
binary and daemon (spamc
and spamd
) plugged into MTA (Postfix via pipe).
My question is: what to do - is it safe to apt-get remove spamassassin
now after installation and configuring of Amavis
?
OS is Ubuntu 14.04 LTS.
Solution 1:
According to Ubuntu 14.04 Server Guide Mail Filtering:
Amavisd-new is a wrapper program that can call any number of content filtering programs for spam detection, antivirus, etc.
You still need SpamAssassin, so you should not uninstall it. Actually, amavisd-new-postfix
depends on spamassassin
, so removing the package with apt-get remove spamassassin
will also remove Amavis.
This chart visualizes how the pieces fit together (based on the same Mail Filtering guide):
You should
-
remove the pipe to SpamAssassin from your Postfix configuration, i.e. remove:
smtp inet n - - - - smtpd -o content_filter=spamfilter
and
spamassassin unix - n n - - pipe flags=R user=spamuser argv=/usr/bin/spamc -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}
-
integrate Amavis to Postfix, instead.
For Postfix integration, enter the following from a terminal prompt:
sudo postconf -e 'content_filter = smtp-amavis:[127.0.0.1]:10024'
Next edit /etc/postfix/master.cf and add the following to the end of the file:
smtp-amavis unix - - - - 2 smtp -o smtp_data_done_timeout=1200 -o smtp_send_xforward_command=yes -o disable_dns_lookups=yes -o max_use=20 127.0.0.1:10025 inet n - - - - smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_delay_reject=no -o smtpd_client_restrictions=permit_mynetworks,reject -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o smtpd_data_restrictions=reject_unauth_pipelining -o smtpd_end_of_data_restrictions= -o mynetworks=127.0.0.0/8 -o smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000 -o smtpd_client_connection_count_limit=0 -o smtpd_client_connection_rate_limit=0 -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_milters
Also add the following two lines immediately below the "pickup" transport service:
-o content_filter= -o receive_override_options=no_header_body_checks