タグ: imap
pkg_versionがアップデートのお知らせを毎日送って来るようにしているのですが、以下のportsのアップデートをしてしまいました。
cclient-2004g_1,1 < needs updating (port has 2006j,1) imap-uw-2004g_1,1 < needs updating (port has 2006j_2,1)
そうすると今まで使えていたimapもipop3dも機能しなくなっちゃいました。多分、認証関係の設定が変わったんだと思います。pop3は apopでcram-md5認証、imapもcram-md5認証なのですがそのままインストールしても駄目みたい。色々調べてみたのですがいまいち良く 分からんので、当座復活させるために本家のftpサイトから古いimap-uw 2004gを落としてきて手動でインストールし直しました。こちらのバージョンは、
# make bsf
でできたpop2d,pop3dとimapdを/usr/local/libexecにコピーして問題なく復活しました。
/usr/ports/mail/imap-uw
/usr/local/etc/pkgtools.conf に WITH_SSL_AND_PLAINTEXT=yes を追記。
# cd /usr/ports/mail/cclient # portupgrade -f # cd /usr/ports/mail/imap-uw # portupgrade -f # make cert (全部エンターで済ませる)
/usr/local/certs に imapd.pem ipop3d.pemが出来ていればOK。
あとは /etc/inetd.conf をいじる。
pop3s stream tcp nowait root /usr/local/libexec/ipop3d ipop3d imaps stream tcp nowait root /usr/local/libexec/lmapd imapd
を追記して inetd を kill -HUP する。
参考URL: http://hiiro-sou.hp.infoseek.co.jp/unix/tips/imap.html
以前は/user/ports/japanese/に日本語版が置いてあったが今はここのみに置いてあるみたい。
日本語版本家では1.4.5で止まっているけど、portsのは1.4.8。とりあえずportsで入れてみる。
# cd /usr/ports/mail/squirrelmail # portinstall
その後、/usr/local/www/squirrelmailに降りて、
# cd /usr/local/www/squirrelmail # ./configure
で各種設定を行う。
日本語を使うなら、 メニュー10番目のLanguageの所を
Language preferences 1. Default Language : ja_JP 2. Default Charset : iso-2022-jp 3. Enable lossy encoding : false
でOK。あと、メニュー2番目のServer SettingsでIMAPサーバーを選択すれば使えるようになります。ウチはuw IMAPなのでこんな感じ。
IMAP Settings -------------- 4. IMAP Server : localhost 5. IMAP Port : 143 6. Authentication type : cram-md5 7. Secure IMAP (TLS) : false 8. Server software : uw 9. Delimiter : detect
あとは、適当に好みで。
apacheの設定は、SSLで使いたかったのでIncludesに置いたhttpd-ssl.confに下記を追記。
<code>Alias /webmail "/usr/local/www/squirrelmail"</code> AllowOverride All Options FollowSymLinks ExecCGI Includes Allow from All
これで https://wwwほげほげ/webmail で使えるようになる。
ところが、 返信とかすると下記のようなウォーニングが。
Warning: preg_split() expects parameter 4 to be long, string given in /usr/local/www/squirrelmail/functions/imap_messages.php on line 808Warning: Invalid argument supplied for foreach() in/usr/local/www/squirrelmail/functions/mime.php on line 52
ぐぐってみたらパッチ発見。
http://www.hmailserver.com/forum/viewtopic….
http://sourceforge.net/tracker/index.php?func=detail&aid=1543573…..
# diff imap_messages.php.org imap_ messages.php 808c808 < $flags = preg_split('/ /', $regs[1],-1,'PREG_SPLIT_NI_EMPTY'); --- > $flags = preg_split('/ /', $regs[1],-1,PREG_SPLIT_NO_EMPTY);
これで解決。
# portinstall mail/imap-uw
で一発。imapとpop3を使いたいので、/etc/inetd.conf を
pop3 stream tcp nowait root /usr/local/libexec/ipop3d ipop3d imap4 stream tcp nowait root /usr/local/libexec/imapd imapd
に変更。 kill HUP (inetd のpid) を忘れずに。
APOPでメールを取るので/etc/cram-md5.pwdを作成。こんな感じ。
username1 password1(平文) username2 password2(平文) username3 password3(平文)
パスワードを平文で入れなければいけないので当然 chmod 600 として他のユーザーから見えないようにしておく必要あり。 にしてもrootからは全部パスワードが見えるのであまりいい感じではない。自前サーバーならではということで目をつぶることにしている。