[CentOS] sendmail and spamassassin
Petr Klíma
petr.klima at jihomilk.cz
Tue Jun 28 05:35:23 UTC 2005
James B. Byrne napsal(a):
> I have a problem getting spamd and sendmail (both stock CentOS4 rpms)
> to work together on a couple of smtp relay machines. This is clearly
> a configuration issue and no doubt revolves around my lack of
> comprehension of how this is to work.
>
> Basically, the setup consists of two frontend public smtp transports
> that redirect all email through a firewall to an internal imap server
> for final delivery. The firewall and sendmail access map prohibit
> connections to the imap server except for the local MX gateway. The
> external MX gateway is a fallback mx server that routes everything it
> queues through the primary gateway.
>
> So:
>
> MX 2 routes to MX 1 that routes to IMAP
>
> MX 2 and MX 1 are running spamd.
>
> the sendmail.m4 file has the following at its very end:
>
> dnl #
> dnl # MAILERs are always last after all FEATURES are defined
> MAILER(smtp)dnl
> MAILER(procmail)dnl
>
>
> The contents of /etc/procmailrc are:
>
> :0fw
> | /usr/bin/spamassassin
>
>
> Spamd is running on both.
>
> There is a local configuration rule set in
> /etc/mail/spamassassin/local.cf
>
You need an milter interface instead of just procmail (it is local
delivery program)
My solution
====================================================================
Instalace
+++++++++
Milan Kerslager repository
ftp://ftp.linux.cz/pub/linux/people/milan_kerslager/RHEL-4/stable/
-----------------------------------------------
yum install clamav-milter clamav cvgfilter spamass-milter spamassassin
sendmail-cf
-----------------------------------------------
přidej do startu systemu
-----------------------------------------------
/sbin/chkconfig clamd on
/sbin/chkconfig freshclam on
/sbin/chkconfig clamav-milter on
/sbin/chkconfig cvgfilter on
/sbin/chkconfig spamassassin on
/sbin/chkconfig spamass-milter on
/sbin/chkconfig sendmail on
-----------------------------------------------
Make helper scripts
-----------------------------------------------
echo '#!/bin/bash
/sbin/service freshclam start
/sbin/service clamd start
/sbin/service clamav-milter start
/sbin/service cvgfilter start
/sbin/service spamassassin start
/sbin/service spamass-milter start
/sbin/service sendmail start
' |cat >/root/bin/mail.start
echo '#!/bin/bash
/sbin/service sendmail stop
/sbin/service spamass-milter stop
/sbin/service spamassassin stop
/sbin/service cvgfilter stop
/sbin/service clamav-milter stop
/sbin/service clamd stop
/sbin/service freshclam stop
' | cat >/root/bin/mail.stop
echo '#!/bin/bash
/root/bin/mail.stop
/root/bin/mail.start
' | cat >/root/bin/mail.restart
chmod 700 /root/bin/mail.*
-----------------------------------------------
Configuration
+++++++++++++
Changes in /etc/mail/sendmail.mc
-----------------------------------------------
dnl # ven jde jen PEPA
dnl define(`SMART_HOST',`smtp.your.provider')
define(`SMART_HOST',`XXXXX')
dnl # Prilohy do 20M
dnl define(`UUCP_MAILER_MAX', `2000000')dnl
define(`UUCP_MAILER_MAX', `20000000')dnl
dnl # Trochu pozmenim chovani pri nedorucitelnosti
dnl define(`confTO_QUEUEWARN', `4h')dnl
dnl define(`confTO_QUEUERETURN', `5d')dnl
dnl define(`confQUEUE_LA', `12')dnl
dnl define(`confREFUSE_LA', `18')dnl
define(`confTO_QUEUEWARN', `6h')dnl
define(`confTO_QUEUERETURN', `2d')dnl
define(`confQUEUE_LA', `12')dnl
define(`confREFUSE_LA', `18')dnl
dnl # Not sure
dnl dnl FEATURE(always_add_domain)dnl
dnl FEATURE(always_add_domain)dnl
dnl # nebezpecne , spamoidni dnl
dnl dnl FEATURE(`accept_unresolvable_domains')dnl
dnl FEATURE(`accept_unresolvable_domains')dnl
dnl # Musime prijimat na vsech interfacech ... dnl
DAEMON_OPTIONS(`Port=smtp, Name=MTA')dnl
-----------------------------------------------
and before mailers in /etc/mail/sendmail.mc
-----------------------------------------------
dnl # OPEN RELAY Check ... dnl
FEATURE(`dnsbl', `relays.ordb.org', `"550 Email rejected due to sending
server misconfiguration - see http://www.ordb.org/faq/\#why_rejected"')dnl
dnl # clamav-milter - z README ... dnl
INPUT_MAIL_FILTER(`clamav-milter',`S=local:/var/run/clamav/clamav-milter.sock,
F=,T=S:4m;R:4m;E:10m')dnl
dnl # CVGFILTER - z README ... dnl
define(`_FFR_MILTER', `1')dnl
INPUT_MAIL_FILTER(`cvgfilter', `S=unix:/var/run/cvgfilter.sock, F=T')dnl
dnl # SPAMASSASSIN dnl
INPUT_MAIL_FILTER(`spamassassin', `S=local:/var/run/spamass.sock, F=,
T=C:15m;S:4m;R:4m;E:10m')dnl
define(`confMILTER_MACROS_CONNECT',`b, j, _, {daemon_name}, {if_name},
{if_addr}')dnl
-----------------------------------------------
/etc/sysconfig/clamav-milter
-----------------------------------------------
CLAMAV_FLAGS="--max-children=80 --force-scan -HP -p viry at madeta.cz
--server=localhost local:/var/run/clamav/clamav-milter.sock"
-----------------------------------------------
/etc/mail/spamassassin/local.cf
-----------------------------------------------
# These values can be overridden by editing ~/.spamassassin/user_prefs.cf
# (see spamassassin(1) for details)
# These should be safe assumptions and allow for simple visual sifting
# without risking lost emails.
required_hits 5
report_safe 0
rewrite_header Subject [SPAM]
# additional
rewrite_subject 1
subject_tag [SPAM]
fold_headers 0
#clear_headers
remove_header all Report
#remove_header all Status
#remove_header all Level
#remove_header all Flag
#add_header all Status _YESNOCAPS_ , _STARS(*)_, hits=_HITS_
required=_REQD_
-----------------------------------------------
========================================================================
/root/bin/mail.restart and enjoy the show ...
--
Petr Klíma
JIHOMILK a.s.
Rudolfovská 246/83
370 50 České Budějovice
Czech Rpublic
phone: +420 389 136 209
e-mail: petr.klima at jihomilk.cz
More information about the CentOS
mailing list