明日(日本時間では今日)の分を書いてみる。
直接飛ばすように変更。
QMAILには、IMAP4を使うときにテキストのみ同期というオプションがあるのだけれど、なんかいまいちな気がしてきた。なぜかっていうと、全体を同期する場合には、
FETCH 1 BODY.PEEK[]
みたいなコマンドを送ってやればいいだけなのだけれど、テキストのみの場合、
FETCH 1 BODY FETCH 1 (BODY.PEEK[HEADER] BODY.PEEK[1] BODY.PEEK[1.MIME])
みたいにして、FETCH BODYしてパートの入れ子情報を取ってから中身を取得しなくちゃいけないので遅い。しかも、前者だったら複数のメッセージの分まとめてコマンドを出せるけど、パートの入れ子情報は当然メッセージごとに違うので個別に出さなくてはいけない。
ということを考えると、添付ファイルであってもある程度小さければ取得してしまった方が速いと思う。ローカルストレージが限られている場合には少しでもローカルのキャッシュを少なくしたいというのはあるのだけれど。とするとあるサイズ以上のパートは取得しないとかいう設定ができるといいのか?。組み合わせを考えるとわけわからなくなりそう。
HTMLメールを表示するとなると、HTML中に埋め込まれているイメージとかはやっぱりダウンロードしたいわけで、それも解析しなくちゃいけないとなるとやっぱり面倒そう。
これは同期に限らず、オンラインで表示する場合にもあてはまりそう。今は、どっちみちテキストしか表示しないからテキストパートしか取得しないけれど、HTMLを表示するなら埋め込まれているやつも持ってこなくちゃいけないわけか。。
にしきさん、ツッコミ一号ですね。ありがとうございますm(__)m。
最近、アカウント移行のせいで巡回アカウントが増えてしまったのだけど、こうなると、
1. 巡回後に新着メールがあったフォルダを表示してくれる機能
2. アカウントをまたいだ検索フォルダ
とかあると便利な気が。
1は、巡回をパラレルにやるようにしたらどっちみちプログレスバーを表示するダイアログを出さなくちゃいけないので、そこに表示するとか。ダイアログに巡回するフォルダの数だけプログレスバーが並んでいて、終わるとそこに新着メールが何通あったかとか、エラーがあったとかを表示する感じ。ダウンローダみたいな画面イメージかな。
IMAP4のダウンロード部分を実装してみたので、パフォーマンス比較。800通ほどあるメールボックスをテキストのみ同期した場合。
QMAIL 2.1.14 : 7分40秒くらい
QMAIL(新?): 2分20秒くらい
おお、こんなに速くなるとは。つうか元々が遅すぎか。
こんにちは。
「アカウントをまたいだ検索フォルダ」は便利そうですね。個人的には使いたい機能です。
ただ、複数アカウントの全フォルダを検索すると対象が膨大な量になりそうなので、Inboxのみとかのオプションがあれば嬉しいですね。
# こういうのはここに書かずにMLへ流したほうがいいのでしょうか?