title_parttitle_parttitle_part
静岡県浜松市であれこれソフトを開発している A.K.I Software のブログです。日々の開発日記やサーバー・セキュリティ関連の話題なども掲載。
<< 2024/03 >>12345678910111213141516171819202122232425262728293031
《《《 ネットワーク機器の購入は Amazon で! 》》》
Powered by BLOM IMAP4 クライアント比較
小さくも大きくも閉じたりもしません
10/02/01 02:58 / IT関連

サーバーを作っている以上、クライアントからの動作を確認しなければなりません。
テストで使っているクライアントで気が付いた点を挙げてみます。

1)Outlook Express / Outlook2003

微妙です。ちゃんと CAPABILITY を見て IDLE コマンドにも対応しているようですが、IDLE の応答に即時返答しないので???な動作をする所があります。
FETCH 1:* なんてしてくれるので転送量が割と多め。
Outlook Express は IMAP4 のリセットという機能があって(全部取得しなおす)デバッグには便利です。
なぜか起動時に、ログインしてすぐにログアウトするセッションと継続するセッションの2つを繋ぎに来ます。
ひいき的に解釈するとすぐに切断するセッションは CAPABILITY のみ確認しているのかなぁ?という感じです。
(もしかしたら SSL/TLS の確認かもです)
更に Outlook 2003 は eml 形式では無く msg 形式というこれまた独自の形式になるので色々と面倒です。

2)Thunderbird 3.0.1
比較的まともでした。IDLE にもきちんと反応するのですが、LIST 応答のフォルダフラグを見ていないなどバグもある感じです。
本文取得時に分割してダウンロード(OE のように 1:* では無く 1:100 / 101:200 という感じで細かく取得します)とサーバーに気遣いをする点もあれば、なぜかデフォルトで同時接続数が5(サーバーに常時5セッションを確保)したりとサーバーに優しくない動作もします。(100ユーザー居たら同時に500セッション張るということに。)
LOGIN コマンドでログイン成功しているのに更に AUTHENTICATE でログインしようとするのはなぜに?
あとフォルダの削除でフォルダをゴミ箱に入れるのは勘弁して欲しい動作の一つです。(後述 *1)

3)Sylpheed 3.0.0 beta6
素直な動作をする感じですが、CAPABILITY をきちんと見ていないので、毎回無条件に NAMESPACE コマンドを発行するなど微妙なバグが。
他のメーラーが本文を予めダウンロードするのに対して、Sylpheed は必要な本文だけをダウンロードするので IMAP4 らしい動作をします。(予め全てのメールをダウンロードしておくならば POP3 でいいです。)
最新版でも IDLE コマンドには未対応っぽいです。

いっそのこと、IMAP4 クライアントを作ろうかとも思いましたが、Webmail の方が遙かに楽なので止めました(^-^;

個人的にお勧めランキングは
1)Sylpheed
2)Thunderbird
3)Outlook Express
4)Outlook 2003
です。
Outlook 2007 もあるようですが、改善されているかもしれませんが。

(*1)

下記には愚痴も含まれますので、読み飛ばして頂いても結構でございます(^-^;

IMAP4 サーバーの仕様的にも問題があるのですが、IMAP4 というのはプロトコル的に「メールのコピーとメールの削除」はありますが「メールの移動」というコマンドが存在しません。移動は、コピーと削除で代用出来るように見えるのですが、実際の動作としては
1)移動先にコピーする
2)元のメールを削除する
の2つに分かれる為、1の時点でメールボックスの容量を超える可能ですがあるのです。
1と2を同時に行う移動のコマンドは「存在しません」ので Thunderbird のように「ゴミ箱に移動する」という動作は実は問題があるのです。(設定でOFFに出来ますが)

ついでにもう1つ。メールボックスの多段階層化に対応している場合、IMAP4 は
RENAME "hogehoge" "trash/hogehoge"
というコマンドを発行します。
ルートにある hogehoge を trash/hogehoge「リネームして」移動させるという概念になりますが・・・
なんというか、ハードリンクを使っているシステムならばそこを変更するだけで良いのですが、そうでない場合は trash/hogehoge をいうフォルダを作成して、hogehoge の中身を全てコピーして、コピーが終わったら hogehoge の中を削除して(ここのコピーと削除は移動でいいんですが)、hogehoge を削除する。という処理が必要になります。

さて、hogehoge の中に 1G くらいのメールがあった場合どうなるでしょうか? HDD の処理速度にも影響しますが、数秒で終わるという処理ではありません。
「おっと間違えて削除してしまった(5分くらい待つ)、元に戻そう(また5分くらい待つ)」なんてシチュエーションが出てきます。サーバーの HDD にも優しくありません。

IMAP4 の仕様自体が Unix のファイルシステムを前提としている部分がある為、ややこしいってもんじゃありません。
更に PMail Server は階層化を仮想で行っている為、IMAP4 側も対応するにはエミュレーションする仮想ファイルシステムを作らなければなりません。(そして、それは充分心を折るに足りる作業です。コツコツとやっていますが)

[更新日付:2010/02/02 02:48:16]
トラックバックを見る(0)
Log Link [https://akisoftware.com/cgi-bin/blom.exe?akisoft+sl+48ec3e0a16230c3eef34fc239915eff3c0bb50b9]
TB Link [https://akisoftware.com/cgi-bin/blom.exe?akisoft+tb+48ec3e0a16230c3eef34fc239915eff3c0bb50b9]

記事へのコメント

コメントはありません

名前
コメントキー
 
コメントする時はキーを正確に入力して下さい
コメント
アドレスを含んだコメントはできません
© 2008-10 A.K.I Software all rights reserved.