# mkdir /home/filter
# groupadd -g 10001 filter
# useradd -g filter -u 10001 -d /home/filter -s /bin/false filter
# chown filter:filter /home/filter
# mkdir /var/spool/filter
# chown filter:filter /var/spool/filter
# chmod 700 /var/spool/filter
# chkconfig spamd on
# /etc/init.d/spamd start
# vi /usr/local/bin/spam-filter
[i]で以下を挿入。
#!/bin/sh
# Simple shell-based filter. It is meant to be invoked as follows:
# /path/to/script -f sender recipients...
# Localize these.
INSPECT_DIR=/var/spool/filter
SENDMAIL="/usr/sbin/sendmail -i"
SPAMASSASSIN=/usr/bin/spamc
# Exit codes from <sysexits.h>
EX_TEMPFAIL=75
EX_UNAVAILABLE=69
# Clean up when done or when aborting.
trap "rm -f in.$$" 0 1 2 3 15
# Start processing.
cd $INSPECT_DIR || {
echo $INSPECT_DIR does not exist; exit $EX_TEMPFAIL; }
cat | $SPAMASSASSIN -x > in.$$
grep -e "^X-Spam-Status:.Yes" in.$$ \
&& $SENDMAIL "spam@example.com" < in.$$ \
|| $SENDMAIL "$@" < in.$$
exit $?
[Esc]、[:]、[w]、[q]で保存。
# chmod 700 /usr/local/bin/spam-filter
# chown filter:filter /usr/local/bin/spam-filter
Postfix が コンテンツフィルタにメールを配送するように設定する。
# ==========================================================================
# service type private unpriv chroot wakeup maxproc
command + args
# (yes) (yes)
(yes) (never) (100)
# ==========================================================================
filter unix - n
n - 10
pipe
flags=Rq user=filter argv=/usr/local/bin/spam-filter -f ${sender}
-- ${recipient}
SMTP で到達したメールのみにコンテンツフィルタを使うためsmtp / smtps エントリに "-o content_filter=filter:dummy"
を追加する。
# ==========================================================================
# service type private unpriv chroot wakeup maxproc
command + args
# (yes) (yes)
(yes) (never) (100)
# ==========================================================================
smtp inet n -
n - -
smtpd
-o content_filter=filter:dummy
smtps inet n -
n - -
smtpd
-o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes
-o content_filter=filter:dummy
# /etc/init.d/postfix restart
# cd /home/filter/.spamassassin
# wget -O user_prefs http://tlec.linux.or.jp/docs/user_prefs