IMAP 入れてみた
メールサーバをPOPからIMAPへ変更。
複数のPCで同じアカウントのメールボックスを読みたい場合、たとえば、自宅と会社。自宅とモバイル。そういう時、今までは、PCに主従関係を持たせて、POP3サーバへのアクセス時、「従」の方のPCで読み出したときはメールをサーバに残し、「主」の方のPCで読み出したときはサーバから削除、ということをしていた。
この方式は、そこそこ満足していたのだが、重大な欠点がいくつかある。
1.「従」のPCには、過去のメールが欠落してたまっているので、検索しようとしたとき不便。
2.それぞれのPCには、自分の送信したログしかないので、送信したかどうかの確認をするためには、全てのPCで確認する必要がある。
3.「従」のPCで読んだメールは、「主」のPCで、再び未読として表示される
2.は、自分宛にBCCすることで、やりくりしていたのだが、1.の方はどうしようもない。アカウントをもう一つ作成し、「主」用と「従」用を分離して、両方のメールボックスに新規メールを転送とかも考えたけど、スマートじゃないし、「従」用のメールボックスがあふれそう。
で、根本的に解決を図るべく、IMAPを導入することにした。IMAPとは簡単に言うと、メールデータを全てサーバ側に置いておくことで、複数PCから全てのメールを読めるようにするためのもの。
Vine には、plus のパッケージに、 courier-imapd が用意されているので、これをインストール。ついでに fetchmail も。
次に IMAP 用に使うユーザを追加。fetchmail で、自分のPOPのメールサーバからメールを集めてくるよう設定。
クライアントPCには、引き続きBecky!を使用。IMAPに対応しててよかったよ。
具体的にした設定は、
・Maildir への変更
/etc/postfix/main.cfで、
home_mailbox = Maildir/ に変更。
以下の2行をコメントアウト
mail_spool_directory
mailbox_command
/etc/rc.d/init.d/postfix restart
・.fetchmailrcの作成
defaults
protocol pop3
no rewrite
no mimedecode
keep #とりあえずはメールを残す
mda “/usr/bin/procmail”
poll POP3のサーバ名
username “ユーザ名”
password “パスワード”
さらに、.procmailrc を作成
SAVEFILENAME=`perl -e ‘print time . “.” . getppid;’`
LOGFILE=$HOME/procmail.log
MAILDIR=$HOME/Maildir/
DEFAULT=$MAILDIR/new/$SAVEFILENAME
LOCKFILE=$HOME/.lockmail
# 百式
:0
* ^X-Mag2Id: 0000027118
.magazine/new/$SAVEFILENAME
#Majesty-ML
:0
* ^To: majesty\@alpha.aikis.or.jp
.maje.maje-ml/new/$SAVEFILENAME
こんな感じかな。
参考にしたページは、
・Linux で IMAP4 サーバを構築する
・Fetchmail + Procmail + Courier-IMAP + PostfixでIMAP環境構築
・昨日設定したimapにメールを振り分けてみる。
他。先人たちに感謝。










