目次

参考情報

設定方法

インストール

  • 関連モジュール(失敗したら-fiでforceでインストールする)
    # cpan -i HTML::Parser
    # cpan -i Mail::SPF
    # cpan -i Mail::SPF::Query
    # cpan -i IP::Country
    # cpan -i Net::Ident
    # cpan -i IO::Socket::INET6
    # cpan -i IO::Socket::SSL
    # cpan -i Mail::DomainKeys
    # cpan -i Mail::DKIM
    # cpan -i Encode::Detect
  • SpamAssassin本体
    # cpan -i Mail::SpamAssassin

設定ファイル

  • local.cfの取得
    # cd /etc/mail/spamassassin
    # mv local.cf local.cf.bkup
    # wget http://tlec.linux.or.jp/docs/user_prefs local.cf
  • SpamAssassinの検証(「X-Spam-Status」が含まれたらOK)
    # cat <mailFile> | spamassassin
  • 起動ファイル(/etc/init.d/spamd)の作成
    #!/bin/bash
    #
    # spamassassin This script starts and stops the spamd daemon
    #
    # chkconfig: 345 70 30
    # processname: spamd
    # description: spamd is a daemon process which uses SpamAssassin to check \
    #              email messages for SPAM.  It is normally called by spamc \
    #              from a MDA.
    
    # Source function library.
    . /etc/rc.d/init.d/functions
    
    # Source networking configuration.
    [ -r /etc/sysconfig/network ] && . /etc/sysconfig/network
    
    RETVAL=0
    prog="spamd"
    
    # Set default spamd configuration.
    SPAMDOPTIONS="-d -c -m5 -H"
    SPAMD_PID=/var/run/spamd.pid
    
    
    # Tack on path to spamd if not already in PATH
    SPAMD_PATH=":/usr/local/bin/"
    
    PATH=$PATH$SPAMD_PATH
    export PATH
    
    
    # See how we were called.
    start() {
            # Start daemon.
            echo -n $"Starting $prog: "
            daemon $NICELEVEL spamd $SPAMDOPTIONS -r $SPAMD_PID
            RETVAL=$?
            echo
    
            [ $RETVAL -eq 0 ] && touch /var/lock/subsys/spamd
            return $RETVAL
    }
    
    stop() {
            # Stop daemons.
            echo -n $"Stopping $prog: "
            killproc spamd
    
            RETVAL=$?
            echo
            [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/spamd
            return $RETVAL
    }
    
    case "$1" in
      start)
            start
            ;;
      stop)
            stop
            ;;
      restart)
            stop
            start
            ;;
      condrestart)
           [ -e /var/lock/subsys/spamd ] && restart
           ;;
      status)
            status spamd
            RETVAL=$?
            ;;
      *)
            echo "Usage: $0 {start|stop|status|restart|condrestart}"
            exit 1
    esac
    
    exit $?
  • 起動スクリプトの登録
    # vi /etc/service
    spamd           783/tcp                         # SpamAssassin
    # chmod chmod 755 /etc/rc.d/init.d/spamd
    # /sbin/chkconfig --add spamd
  • ユーザspamdの登録
    # /usr/sbin/groupadd -g 206 spamd
    # /usr/sbin/useradd -u 206 -g 206 -s /sbin/nologin -d /etc/mail/spamassassin spamd
  • /etc/rc.d/init.d/spamd の編集
    SPAMDOPTIONS="-d -c -m5 -H"
     ↓
    SPAMDOPTIONS="-d -c -m5 -H -u spamd"
  • 一時領域の作成
    # mkdir -p /etc/mail/spamassassin/.spamassassin/
    # chmod 777 /etc/mail/spamassassin/.spamassassin/
  • spamdをユーザspamdで再起動
    # /etc/init.d/spamd restart

postfixの修正

  • /etc/postfix/master.cfの編集
    smtp      inet  n       -       n       -       -       smtpd
      -o content_filter=spamassassin
    (省略)
    spamassassin  unix  -   n       n       -       -       pipe
      user=spamd argv=/usr/bin/spamc -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}

その他

  • メール本文を変更したくない場合は/etc/mail/spamassassin/local.cfに次を追加する
    report_safe 0

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-09-25 (日) 19:27:03 (442d)