多機能courierでメールを見よう
メールを見るためには
クライアントからメールを送信するにはSMTPを、受信するにはPOP3、IMAPを使用する必要がある。今回、courierを使用してメールを受信できるようにしようと思います。
courierとは
courierとは多様なプロトコル、認証方法さらにMailDirectoryをサポートしています。POP3、POP3-SSL、IMAP、IMAP-SSLなどの主要なプロトコルや認証にMYSQLや独自データを使用した認証などいろいろなことができるのです。WebMailを使用できるようにIMAPが使え、外部からもPOP3-SSLもでき、LAN内部ではPOP3ができると、もうやりたいことを全て可能なのがcourierなのです。
基本のPOP3をできるように
このページでは基本となるPOP3とPOP3-SSLについて書きます。
インストール
この辺りをインストすればOKです。
#apt-get install courier-authdaemon courier-base courier-pop courier-pop-ssl courier-ssl
設定
POP3の設定
認証はPAM認証を使用します。基本的に設定することなく、デフォルトで動くと思います。/etc/courier/pop3dの設定内容を確認して下さい。
AUTHMODULES="authdaemon" DEBUG_LOGIN=0 PORT=110 POP3DSTART=YES MAILDIRPATH=Maildir
もし、メールが受け取れない、エラーが出るなどあったら「DEBUG_LOGIN」を2などに設定すればログにデバッグメッセージが出力されます。POP3DSTARTをNOにすると起動しなくなります。通常/etc/init.dのrcスクリプトで管理するのでこの設定をNOにすると管理がややこしくなるので、起動しないときはrcスクリプトのリンクを外した方がいいと思います。
authdaemonの設定
次にauthdaemonとういう認証のデーモンの設定を行います。基本的にデフォルトでOKのはずです。設定ファイルはこれです。/etc/courier/authdaemonrc。1箇所だけ設定を確認しといてください。
authmodulelist="authpam"
とりあえず起動してみる
たぶん、インストした段階でデーモンが起動しているかもしれません。設定を変更したなら再起動を変更してないなら、そのままでOKです
起動する
#/etc/init.d/courier-authdaemon start #/etc/init.d/courier-pop start
停止する
#/etc/init.d/courier-pop stop #/etc/init.d/courier-authdaemon stop
デーモンの起動を確認する
プロセスが起動していることと、ポートをListenしていることを確認しとくべきですな
プロセス確認
ps -ef | grep courier root 975 1 0 Jan13 ? 00:00:00 /usr/sbin/courierlogger -pid=/var/run/courier/authdaemon/pid -start /usr/lib/courier/authlib/authdaemond.plain root 976 975 0 Jan13 ? 00:00:00 /usr/lib/courier/authlib/authdaemond.plain root 981 976 0 Jan13 ? 00:00:00 /usr/lib/courier/authlib/authdaemond.plain root 982 976 0 Jan13 ? 00:00:00 /usr/lib/courier/authlib/authdaemond.plain root 984 1 0 Jan13 ? 00:00:00 /usr/sbin/couriertcpd -pid=/var/run/courier/pop3d.pid -stderrlogger=/usr/sbin/courierlogger -maxprocs=40 -maxperip=4 -nodnslookup -noidentlookup -address=0 110 /usr/lib/courier/courier/courierpop3login /usr/lib/courier/authlib/authdaemon /usr/lib/courier/courier/courierpop3d Maildir root 988 1 0 Jan13 ? 00:00:00 /usr/sbin/courierlogger courierpop3login root 998 1 0 Jan13 ? 00:00:00 /usr/sbin/couriertcpd -pid=/var/run/courier/pop3d-ssl.pid -stderrlogger=/usr/sbin/courierlogger -stderrloggername=pop3d-ssl -maxprocs=40 -maxperip=4 -nodnslookup -noidentlookup -address=0 1995 /usr/bin/couriertls -server -tcpd /usr/lib/courier/courier/courierpop3login /usr/lib/courier/authlib/authdaemon /usr/lib/courier/courier/courierpop3d Maildir root 1001 1 0 Jan13 ? 00:00:00 /usr/sbin/courierlogger pop3d-ssl
こんな感じにたくさんでてきますが、/usr/lib/courier/authlib/authdaemond.plainと/usr/sbin/couriertcpdあたりがあればOKかな。
ポートの確認
netstat -a -t -n | grep 110 tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN
このような結果になればOKでしょう
メールを受信してみる
SMTPの設定がなされているのならmailコマンドなりメーラからメールを送っておいてください。さっそくメーラで受信してみてください。送ったメールが見れるはずです。せっかくなんで、telnetを使用してメールを送信するのもおもしろいです。POP3もtelnetでやってみてください。