FreeBSD] 雪かき雪かきメールサーバー

本日快晴。娘はまだ熱が下がらない。
ついでに息子も微熱状態。
今日は一日、娘を抱っこするか雪かきをしていた。
腰が痛い.....。
 
さて、今日はメールサーバーアプリの設定。
まずは SMTP サーバーとして使用する Postfix の設定。
2月23日にインストールは終わっていて、/etc/mail/mailer.conf も書き換える設定を終わらせている。
/etc/rc.conf に下記を追加。
 
 # vi /etc/rc.conf
 
 sendmail_enable="YES"
 sendmail_flags="-bd"
 sendmail_pidfile="/var/spool/postfix/pid/master.pid"
 sendmail_outbound_enable="NO"
 sendmail_submit_enable="NO"
 sendmail_msp_queue_enable="NO"
 
Sendmail に特化している FreeBSD の日常的なシステム報告メールのエラーをなくすために、/etc/periodic.conf を新規に作成して下記を記述。
 
 # vi /etc/periodic.conf
 
 daily_clean_hoststat_enable="NO"
 daily_status_mail_rejects_enable="NO"
 daily_status_include_submit_mailq="NO"
 daily_submit_queuerun="NO"
 
Postfix の設定ファイル main.cf を編集し、下記のように書き換える。
 
 # vi /usr/local/etc/postfix/main.cf
 
 myhostname = server.choro_master
 mydomain = choro_master
 myorigin = $myhostname
 mydestination = $myhostname, localhost.$mydomain, localhost
 mynetworks = 192.168.0.0/24, 127.0.0.0/8
 home_mailbox = Maildir/
 
標準のメールボックスを Maildir 形式にした。これにより、root へのシステム報告メールもMaildir ディレクトリに保存され、mail コマンドでメールが読めなくなる。
よって、root へのメールはユーザーに転送させるため、/etc/aliases ファイルにメール転送の記述する。
 
 # vi /etc/aliases
 
 root:choro_master
 
編集した aliases ファイルの設定をサーバに反映させるために newaliases コマンドを実行。
 
 # newaliases
 
次は Courier-IMAP。とりあえず ssl 接続はしない。
/etc/rc.conf に下記を追加。
 
 # vi /etc/rc.conf
 
 courier_authdaemond_enable="YES"
 courier_imap_imapd_enable="YES"
 courier_imap_pop3d_enable="YES"
 #courier_imap_imapd_ssl_enable="YES"
 #courier_imap_pop3d_ssl_enable="YES"
 
プロバイダからメールを取得する fetchmail の設定。
cron で定期的に取得させるのでデーモン起動はさせない。
メールを取得するユーザーのホームディレクトリに .fetchmailrc を作成し、下記を記述。
 
 > vi ~/.fetchmailrc
 
 set nobouncemail
 defaults
  protocol  pop3
  no     rewrite
  no     mimedecode
  mda    "/usr/local/bin/procmail"
# choro_master.com は架空のサーバー
 poll    mail.choro_master.com
 user    choro_master
 password  hen7hi10
 
メールの振り分けをさせる procmail の設定。
メールを取得するユーザーのホームディレクトリに .procmailrc を作成し、下記を記述。
 
 > vi ~/.procmailrc
 
 PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/X11R6/bin:/$HOME/bin
 MAILDIR=$HOME/Maildir/
 DEFAULT=$MAILDIR
 LOGFILE=$MAILDIR/log.txt
 LOCKFILE=$HOME/.lock
 TERM=cons25
 # spamc をフィルタとして呼び出す
 :0fw
 | /usr/local/bin/spamc
 # SPAMと認定されたらspam フォルダへ
 :0:
 * ^X-Spam-Status: Yes
 .Spam/
 
最後の仕上げ、スパムフィルタの SpamAssassin の設定。
/etc/rc.conf に下記を追加。
 
 # vi /etc/rc.conf
 
 spamd_enable="YES"
 
さて、各サーバーアプリは設定ごとに単独テストをしていたが、ここまできたのでプロバイダに用意していた予備メールアドレスからメールを取得して、全ての動作のチェックを行なう。
予備メールアドレスはメーリングリストFreeBSD-users-jp にしばらく前から登録しておいたから、100通くらいのメールが溜まっている。
しかも、Spamメールが多いメーリングリストだから、SpamAssassin のテストに最適。
 
 > fetchmail -F
 
うん、問題ない。スパムメールもちゃんと振り分けられている♪。
これから、テスト期間を設けて、cron でしばらく稼動させることにする。
 
 > crontab -e
 
 */30 * * * * /usr/local/bin/fetchmail 1> /dev/null
 

今日の動画鑑賞

ドラマ

「ごくせん」を生で見た。先輩のためにエンコードはする。