文書の過去の版を表示しています。
FreeBSD 9.0-RELEASEでCourier Mail Serverを使う
環境
- FreeBSD 9.0-RELEASE
- Courier Mail Server 0.65.3
- Maildirで運用
- Maildirは ~/Library/mail/メールアドレス/ に置く
- ユーザーの標準メールのデータは ~/Library/mail/_local/Maildir に保存する
用語メモ
- /etc/mail/aliases
- メールエイリアスの設定ファイル。メールサーバに登録されているユーザーアカウントの別名(エイリアス)、転送(root宛のメールをadmin@〜にも送るとか)、メーリングリストの設定などが行える。
- /etc/mail/mailer.conf
- /usr/sbinにあるメール関連コマンド(実体はmailwrapperへのシンボリックリンク)と、実際のメール関連コマンドの対応表。/usr/sbin以下のメールコマンドが呼び出されると、mailwrapperはこの設定ファイルに基づいてメールコマンド本体を呼び出す。
インストール
portで一発。
cd /usr/ports/mail/courier sudo make install
仮想メールボックスの利用を見据え、<ilcode>AUTH_PGSQL</ilcode>や<ilcode>AUTH_USERDB</ilcode>あたりのコンフィグオプションを有効にする。 単にsendmailの置き換えだけなら、特に弄らなくてもいいと思う。
インストールの最後に「Would you like to activate Courier in /etc/mail/mailer.conf [n]?」と聞かれるので、yで<ilcode>mailer.conf</ilcode>を置き換える。一応、Courier Mail Server用のmailer.confを掲載。
- /etc/mail/mailer.conf
# # Execute the Courier sendmail program, named /usr/local/bin/sendmail # sendmail /usr/local/bin/sendmail send-mail /usr/local/bin/sendmail mailq /usr/local/bin/mailq newaliases /usr/local/sbin/makealiases
設定
Courier Mail Server全体の設定
<ilcode>/usr/local/etc/courier/courierd</ilcode>で、Courier Mail Server全体の設定を行う。詳細はcourierdを参照。
ここでは変更した箇所のみを掲載する。
- /usr/local/etc/courier/courierd
LANG=ja_JP.utf-8 DEFAULTDELIVERY=./Library/mail/_local/Maildir
また、
- ログインアカウント名に大文字を含むユーザーがいる
- 今後作る予定がある
場合は<ilcode>/usr/local/etc/courier/locallowercase</ilcode>を消すか、別名にする。さもないと、そのユーザーはUnknownとなりメールが届かない。うちではlocallowercase.disableにリネームして対処した。
authlibの設定
portのインストールオプションで追加の<ilcode>AUTH_*</ilcode>オプション選んでいる場合、とりあえず<ilcode>authpam</ilcode>を使うようにしておく。
- /usr/local/etc/authlib/authdaemonrc
authmodulelist="authpam" authmodulelistorig="authpam"
Maildirの準備
各ユーザーのホームディレクトリにMaildirを作成する。
cd ~ mkdir -p Library/mail/_local maildirmake Library/mail/_local/Maildir
新規ユーザー用に<ilcode>/etc/share/skel</ilcode>にも、同様にMaildirのスケルトンを作成する。
cd /etc/share/skel sudo mkdir -p Library/mail/_local sudo maildirmake Library/mail/_local/Maildir
sendmailとの入れ替え
sendmailを止める。
sudo /etc/rc.d/sendmail stop
sendmailのメンテナンスルーチンを止める。
- /etc/periodic.conf
daily_clean_hoststat_enable="NO" daily_status_mail_rejects_enable="NO" daily_status_include_submit_mailq="NO" daily_submit_queuerun="NO"
sendmailの無効化とCourier Mail Serverの有効化。
- /etc/periodic.conf
sendmail_enable="NO" sendmail_submit_enable="NO" sendmail_outbound_enable="NO" sendmail_msp_queue_enable="NO" courier_authdaemond_enable="YES" courier_enable="YES"
Courier Mail Serverを起動。
sudo /usr/local/etc/rc.d/courier-authdaemond start sudo /usr/local/etc/rc.d/courier start
もしくは、マシンを再起動する。
メール送受信テスト
自分宛にメールを送ってみる。
$ mail Decomo
Subject: Courier Mail Server test
send to Decomo
.
EOT
ログが↓な風になっていれば、送信成功。
Mar 30 22:23:59 Hoge-host courierd: newmsg,id=00000049.000000004F75B3EF.000006EA: dns; localhost (localhost [127.0.0.1]) Mar 30 22:23:59 Hoge-host courierd: started,id=00000049.000000004F75B3EF.000006EA,from=<Decomo@Hoge-host>,module=local,host=Decomo!!1001!1001!/home/Decomo!!,addr=<Decomo> Mar 30 22:23:59 Hoge-host courierd: Waiting. shutdown time=none, wakeup time=none, queuedelivering=1, inprogress=1 Mar 30 22:24:00 Hoge-host courierlocal: id=00000049.000000004F75B3EF.000006EA,from=<Decomo@Hoge-host>,addr=<Decomo@Hoge-host>,size=405,success: Message delivered. Mar 30 22:24:00 Hoge-host courierd: completed,id=00000049.000000004F75B3EF.000006EA Mar 30 22:24:00 Hoge-host courierd: Waiting. shutdown time=Fri Mar 30 23:13:47 2012, wakeup time=Fri Mar 30 23:13:47 2012, queuedelivering=0, inprogress=0
