メールサーバーはpostfixがお気に入りです。仕事上でSendmilも結構触って、それなりに使い方も覚えたのですが、やっぱりpostfixの方が簡易でいいですね。

postfixインストール

まずはpostfixのインストール

#apt-getinstallpostfix
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
postfixreload

/etc/postfix/sasl/smtpd.confに以下の内容を記述

pwcheck_method:auxprop
mech_list:digest-md5cram-md5

SMTP_AUTH ユーザー追加の手順に従ってユーザーを追加

Courier-IMAPインストール

#apt-getinstallcourier-imap

とりあえずインストール。Webベースでの管理・・・は必要ないなと思ったのでディレクトリは作りませんでした。

/etc/courier/imapdの編集

/etc/courier/imapd を編集して、CAPABILITY にAUTH=CRAM-MD5 が入ってる状態にする。コメントアウトされている行を有効にすればOKです。

IMAP_CAPABILITY="IMAP4rev1UIDPLUSCHILDRENNAMESPACETHREAD=ORDEREDSUBJECTTHREAD=REFERENCESSORTQUOTAAUTH=CRAM-MD5AUTH=CRAM-SHA1AUTH=CRAM-SHA256IDLE"
/etc/courier/authdaemonrcの編集
authmodulelist="authuserdbauthpam"

※net上の情報ではここでauthcramと書けと書いてあるものが多いですが、コメントにもあるとおり、authuserdbと書かないと動きません。どこかのバージョンから変わったのかな?

/etc/authlib/userdbの作成
pw2userdb|grep/etc/couriter/userdb
chmod700/etc/courier/userdb
共有秘密鍵の作成
userdbpw-hmac-md5|userdbsetimap-hmac-md5pw
makeuserdb
Courier-IMAPの再起動
#/etc/init.d/courier-imaprestart
#/etc/init.d/courier-authdaemonrestart

とまぁ、こんな感じで、postfix(SASL) + Courier-IMAP(CRAM-MD5)の環境ができました。Web上の情報をいつも見ながらやってるんですけど微妙に古い情報がGoogleで上のほうに出てて来てしまうので、ちょこちょこ失敗しながら・・・って感じにいつもなっちゃいます。きちんとドキュメント読まないとだめだなぁ・・・。