なかなか要求を満たすimap/pop3サーバはないな~と思ってうろうろしていたら、ひらめきました!
procmail関係のページを見ていたときに、procmailがMaildir形式のメールを格納できるってことが書いてあったのです。
と思ったら、以下のページを発見。同じことを考える人はいるのね~。
そこで、この路線で作業開始です!(さきほどの調査の項とだいぶかぶりますが・・・)
ここまでが、システムサイドでやること。
後は、個人でメールの配送をMaildir形式にしないといけない。いろいろ探した結果、ここのmbox2maildirで良さそう。
このスクリプトを取ってきてpathを通したら、
すべてのフォルダの変換が済んだら、最後に .procmailrcを書き換えて新しいメールの配送をMaildirにする。
私の.procmailrcの頭はこんな感じ。
最後に、Becky!の設定。と言っても、メールボックスの設定の、IMAPフォルダ:のところを、今まで"Mail"だったのを空っぽにするだけで良かった。
Becky!は、sslが使えなくて面白くないので、一応Outlook Expressでも試してみた。
imap, imaps共にPLAIN認証ならばうまく行ったが、md5, sha1共にうまく行かなかった・・・。まあ、imapsで使えばPLAINでも良いとは思うんだけど・・・。
これで、今回のメール環境の改善はおしまい。ちょっとは早くなったかな?
procmail関係のページを見ていたときに、procmailがMaildir形式のメールを格納できるってことが書いてあったのです。
- hoge だと mailbox形式
- hoge/. だと MHフォルダ形式
- hoge/ だとMaildir形式
と思ったら、以下のページを発見。同じことを考える人はいるのね~。
MTA(postfixなのだが)をMaildirな設定にしなくてもprocmail(3.14以降)を噛ませばMaildirにできるやん。しかもsystemwideじゃなく、user別に。
そこで、この路線で作業開始です!(さきほどの調査の項とだいぶかぶりますが・・・)
- まずは、portsからcourier-imapをインストール。make引数は WITH_DRACとWITH_CRAM
- 続いて、courier-imapの設定。
# cd /usr/local/etc/courier-imap # cp authdaemonrc.dist authdaemonrc ←認証デーモンの設定 # cp imapd.dist imapd ←imapdの設定 # cp imapd-ssl.dist imapd-ssl ←imapd-sslの設定 # cp imapd.cnf.dist imapd.cnf ←imapd-sslのキーを作るための設定
上から順番に、中身をみながら適当に直す。- authdaemonrc はそのまま。
- imapdは、IMAP_CAPABILITYの行をコメントしてあるCRAM_MD5を含む奴と交換。IMAPDSTART=YESに変更。
- imapd-ssl は、IMAPDSSLSTART=YESに変更。
- imapd.cnf は、req_dnセクションを自分のサイトに合わせて変更。
- SSL用証明書の作成。
popは今までのqpopperを使うので、imap用のみ。# mkimapdcert
このコマンドで、/usr/local/share/courier-imap/imapd.pemができるらしい。 - 起動スクリプト
# cd /usr/local/etc/rc.d # rm courier-imap-pop3d.sh.sample # rm courier-imap-pop3d-ssl.sh.sample # mv courier-imap-imapd.sh.sample courier-imap-imapd.sh # mv courier-imap-imapd-ssl.sh.sample courier-imap-imapd-ssl.sh
これは、ポート143と993で使おうと思ってこの二つを残したんだけど、両方のスクリプトからauthdaemon が起動/停止させられるため、両方動いてる状態で片方を止めると認証ができなくなってしまう。まあ、実害はないから良いか。 - inetd.confの修正。imapの行をコメントアウトして再起動。
- imap用のユーザDBの作成。
# userdb ユーザ名 set uid=ユーザID gid=グループID home=ホームディレクトリ # userdbpw -hmac-md5 | userdb ユーザ名 set hmac-md5pw Password: ←パスワード Reenter password: ←再入力 # makeuserdb
※ ここですごくはまったんだけど、uidとかhomeをちゃんと設定してあげないと、エントリーが有効にならないらしい。ユーザ名とパスワードだけ書いてあれば良いような気はするんだけど・・・。 - 起動スクリプトを使って、imapサーバを起動。
ここまでが、システムサイドでやること。
後は、個人でメールの配送をMaildir形式にしないといけない。いろいろ探した結果、ここのmbox2maildirで良さそう。
このスクリプトを取ってきてpathを通したら、
% cd % maildirmake Maildir % mbox2maildir /var/spool/ユーザ名 Maildir % mbox2maildir Mail/Sent Maildir/.Sent % mbox2maildir Mail/Trash Maildir/.Trash % mbox2maildir Mail/Draft Maildir/.Draft :って感じでimapのフォルダ単位で変換できる。Becky!で試した結果、
- Beckyから見えるフォルダ名が hoge だとすると、Maildir/.hogeになる。
- フォルダが階層構造になっている場合は、階層を.で区切る。
- フォルダ名に . は含められない。
すべてのフォルダの変換が済んだら、最後に .procmailrcを書き換えて新しいメールの配送をMaildirにする。
私の.procmailrcの頭はこんな感じ。
PATH=$HOME/bin:/usr/bin:/bin:/usr/local/bin:. MAILDIR=$HOME/Maildir DEFAULT=$MAILDIR/ LOGFILE=$MAILDIR/PROCLOG LOCKFILE=$MAILDIR/.lockmail肝は、DEFAULT=の行らしい。後は、今までMHフォルダ用に hoge/. で終わらせてた配送先を、hoge/ に変更して、UNIX側の設定はおしまい。
最後に、Becky!の設定。と言っても、メールボックスの設定の、IMAPフォルダ:のところを、今まで"Mail"だったのを空っぽにするだけで良かった。
Becky!は、sslが使えなくて面白くないので、一応Outlook Expressでも試してみた。
imap, imaps共にPLAIN認証ならばうまく行ったが、md5, sha1共にうまく行かなかった・・・。まあ、imapsで使えばPLAINでも良いとは思うんだけど・・・。
これで、今回のメール環境の改善はおしまい。ちょっとは早くなったかな?
カテゴリ
Networkトラックバック(0)
このブログ記事を参照しているブログ一覧: メール環境の改善(実現編)
このブログ記事に対するトラックバックURL: https://www.wizard-limit.net/cgi-bin/mt/mt-tb.cgi/283
コメントする