メールサーバーはpostfixがお気に入りです。仕事上でSendmilも結構触って、それなりに使い方も覚えたのですが、やっぱりpostfixの方が簡易でいいですね。
postfixインストール
まずはpostfixのインストール
# apt-get install postfix
General type of configuration?
自らDNSを引いてメールを投げてほしいので、「インターネットサイト」を指定。
メール名は?
「ebi.dyndns.biz」お金をかけたくないからフリーのダイナミックDNSを使ってます。ちょっとくらいメールが不通になってもへこたれません。
このマシンが最終的な宛先とみなされるドメインのリスト
規定のままでOKなので、そのままに。
メールキューの同期更新の強制
パフォーマンスを優先して「いいえ」にしておきました。
myhostname変更
/etc/postfix/main.cfにて以下の設定を変更
myhostname = ebi.dyndns.biz
メールボックス形式の指定
/etc/postfix/main.cfにて以下の設定を追記
home_mailbox=Maildir/
SASL設定
/etc/postfix/main.cfに以下の内容を追記
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
permit_auth_destination,
reject
postfix reload
/etc/postfix/sasl/smtpd.confに以下の内容を記述
pwcheck_method: auxprop
mech_list: digest-md5 cram-md5
SMTP_AUTH ユーザー追加の手順に従ってユーザーを追加
Courier-IMAPインストール
# apt-get install courier-imap
とりあえずインストール。Webベースでの管理・・・は必要ないなと思ったのでディレクトリは作りませんでした。
/etc/courier/imapdの編集
/etc/courier/imapd を編集して、CAPABILITY にAUTH=CRAM-MD5 が入ってる状態にする。コメントアウトされている行を有効にすればOKです。
IMAP_CAPABILITY="IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THRE AD=REFERENCES SORT QUOTA AUTH=CRAM-MD5 AUTH=CRAM-SHA1 AUTH=CRAM-SHA256 IDLE"
/etc/courier/authdaemonrcの編集
authmodulelist="authuserdb authpam"
※net上の情報ではここでauthcramと書けと書いてあるものが多いですが、コメントにもあるとおり、authuserdbと書かないと動きません。どこかのバージョンから変わったのかな?
/etc/authlib/userdbの作成
pw2userdb | grep <ユーザー名> > /etc/couriter/userdb
chmod 700 /etc/courier/userdb
共有秘密鍵の作成
userdbpw -hmac-md5 | userdb <ユーザー名> set imap-hmac-md5pw
makeuserdb
Courier-IMAPの再起動
# /etc/init.d/courier-imap restart
# /etc/init.d/courier-authdaemon restart
とまぁ、こんな感じで、postfix(SASL) + Courier-IMAP(CRAM-MD5)の環境ができました。Web上の情報をいつも見ながらやってるんですけど微妙に古い情報がGoogleで上のほうに出てて来てしまうので、ちょこちょこ失敗しながら・・・って感じにいつもなっちゃいます。きちんとドキュメント読まないとだめだなぁ・・・。