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
今日の作業
録画
ウルトラマンネクサス(ビデオ録画失敗時対策)
幻星神ジャスティライザー(ビデオ録画失敗時対策)
天国の階段
ごくせん
美しき日々