FreeBSD-5.2.1 drac-1.12_2 courier-imap-3.0.7,1

postfixでpop before smtpの機能を実現します

pop befor smtpを実現する為、drac を導入します

また、Maildir形式で行う為、popサーバは、Courier-IMAPを利用します

FreeBSD-5.3の場合は、PostfixでPOP before SMTP(FreeBSD-5.3の場合) をどうぞ

Recommend Book

上級のメールサーバー管理者にとっても十分に実用的な情報がそろっています

dracの導入

make install

rootにて以下を実行します

# cd /usr/ports/mail/drac
# make install clean

dracdの自動起動

dracdの起動には、rpcbind(portmap)の動作が必要な為、合わせて起動します

/etc/rc.confに以下を追加し、両方がマシン起動時に自動起動する様にします

rpcbind_enable="YES"
dracd_enable="YES"

また、rpcbind(portmap)はlocalhostからしか参照できない様に、以下の設定を行います

/etc/hosts.allowに以下を追加します

portmap : ALL : deny
portmap : localhost : allow

dracの設定

/usr/local/etc/dracd.allow に以下を追加します

255.255.255.255 127.0.0.1

Courier-IMAPの導入

Maildir対応のpop3サーバを導入します

drac対応にする為にオプション(WITH_DRAC=yes)をつけてbuildします

make install

rootにて以下を実行します

# cd /usr/ports/mail/courier-imap
# make WITH_DRAC=yes install clean

今後のバージョンアップを考え、/etc/make.confに

WITH_DRAC=yes

を追加し、更に/usr/local/etc/pkgtools.confに

MAKE_ARGS = {
         :      :
         :      :
       'mail/courier-imap'      => 'WITH_DRAC=yes',
}

を追加していた方が良さそうです

起動スクリプトの配置

/usr/local/etc/rc.d/courier-imap-pop3d.sh.sampleをcourier-imap-pop3d.shにします

# mv /usr/local/etc/rc.d/courier-imap-pop3d.sh.sample /usr/local/etc/rc.d/courier-imap-pop3d.sh

今回はpop3のみの設定なので、このファイルのみを変更しました

他のサービス(IMAP等)を起動したければ、/usr/local/etc/rc.d/以下にある、courier-imap-*.sh.sample の .sampleをとった名前にします

起動スクリプトの修正

WITH_DRAC=yesで起動スクリプトにパッチがあたっている為にこの作業は不要だが、念のために記述します

/usr/local/etc/rc.d/以下にあるcourier-imap-*.shファイルの内、ssl系以外のものについて、 export の記述をさがし、以下を追加します

DRACHOST=localhost; export DRACHOST; \

設定ファイルの配置

/usr/local/etc/courier-imap 以下にあるファイルの .dist .sample をはずした名前にします

Postfixの設定

Postfixに対する設定を行います

<3>postfixをMaildir形式にする

Courier-IMAPはMaildirのみのサポートの為、Postfixをmaildir形式にします

/usr/local/etc/postfix/main.cfの以下の行を有効にします

home_mailbox = Maildir/

postfixのdracd対応

usr/local/etc/postfix/main.cfに以下の行を追加します

smtpd_recipient_restrictions = permit_mynetworks, 
                               check_client_access btree:/usr/local/etc/dracd, 
                               check_relay_domains
※実際は一行です。

Maildirディレクトリの作成

任意のユーザのホームディレクトリにmaildirを作成します

任意のユーザになり、

$ /usr/local/bin/maildirmake ~/Maildir

または

# mkdir ~/Maildir
# mkdir ~/Maildir/new
# mkdir ~/Maildir/cur
# mkdir ~/Maildir/tmp

として、ホームディレクトリ下にディレクトリを作成します

動作確認

任意のクライアントからpop3接続を行い、IPアドレスがdracd.dbに保存されるか確認します

確認方法は以下です

# makemap -u btree /usr/local/etc/dracd.db

関連ページ