IMAPクライアントいろいろ
もう「いろいろ」ではないんだけどここのところの続きということで。
しばらくMozilla Mailを使っていたのだけど、一日もたつとブラウザまでひっくるめてすごく重くなることが分かってきた。ちょうどMozilla-Thunderbird 0.7のdebがリリースされたので再び試してみる。使い勝手の面ではある程度慣れてきていたので最初のころよりも楽に使えるようになった。今回は、手動で日本語環境にして、enigmail(とenigmime)を入れて、あとなんか細かなのを入れて、というようにもう少し環境を整えた上で使ってみている。forumzillaが日本語に対応して(というより実際のcharsetを見て)くれれば良さそうなのだが。
Evolutionはアップグレードされたらまた試そう。そういえばコードフリーズまでにvimサポートが入らなかったという話を聞いた。Evolutionから直接使えると良いなあと思っていたのでちょっと寂しい。
IMAPクライアントいろいろ 4
yooseeさんおすすめのMozilla-Thunderbirdを使ってみた。基本的には、というかMozilla Mailそのもののようなので、機能面では同じなのかな。今回はGTK_IM_MODULEをuim-primeにしておいた(前回Mozillaでuim-primeが使えないと一時書いていたのは単に右クリックが効かなかったのを勘違いしてしまっただけ)。Mozilla-ThunderbirdもMozilla Mailもなかなか使いやすい。ただDebianパッケージの範囲ではメニューなんかが英語のままのようなのでMozilla Mailのほうが楽かな。
Mozilla Mailをしばらく使っているといつも思うのだけど、複数のメールアドレスを使いわけたいときってどうするのだろう。ダミーのアカウントを作るためにはダミーのサーバを指定しなきゃならないようなのだが、それも気持ち悪い。何か設定がある?
とかやっているうちにEvolution 1.5の新しいパッケージが出来ていたのでこれも試す。落ち具合がちょっと変わったかな。前は返信ボタンを押すとすぐに落ちていたけど、それはなくなった。でもアドレス帳にアクセスしにいくとささるとか、やっぱり何かのタイミングで落ちるとかはある。まだ常用にはきびしいか。
IMAPクライアントいろいろ 1
Evolution 1.4/1.5とMozilla Mailを使ってみた。
Evo 1.4はGtkHTMLが3.0で、HTMLの表示がいまいちで、変に横長になってしまったりする。あとuim(uim-prime)を使って入力済みの文章の途中に文字を入れようとすると、後に続く文字が消えてしまうという現象が……(uimの問題?)。それから返事を書こうとしたとき、引用を示す記号が出たり出なかったり(どうやらASCII文字が含まるる行だけ表示されるようだ)というのもある。常用にはちょっとつらいかなあ。
Evo 1.5は表示系はかなりマシになっている。が、返事を書こうとしたとたんに落っこちてしまうのでまったく使えない。うーん。
Evo 1.4/1.5に共通して思ったのはゴミ箱とかを任意のフォルダに設定できないのかなあということ。何か設定がありそうだがよく分からなかった。
Mozilla Mailの表示はEvo 1.4よりはかなり良い。が、Gtk+2じゃないのでuim-primeが使えず。
bsfilterのIMAP運用
以前、INBOX→INBOX.maybe_{clean,spam}に振り分けるという運用をしていた。ところがMUAの中にはメールはINBOXで受けるものだと決めつけているものも少なくないようで、そうしたMUAを使う機会が出来てくると新着メールがINBOX以外に入れられるのはうまくないということが分かった。そこで、MTA-IMAPサーバ側でINBOX以外のフォルダに新着メールを投げ込ませるようにし、bsfilterによってクリーンなメールだけをINBOXに移すようにしてみた。
具体的な環境はPostfix + Cyrus-IMAPで、この場合、デフォルト(やサンプルにある)設定ですでにfoo+bar宛のメールをユーザfooのフォルダbarに投げ込もうとするようになっている。つまり、すべてのメールを+付きのアドレスに転送してやればよいだけだ。
ただ、ここで「投げ込もうとする」のであって「投げ込む」わけではないというところに注意が必要である。詳しい説明はCyrus-IMAPのドキュメントにあるFAQにあるが、cyradmのsamコマンドによって、投げ込ませたいフォルダに対してanyoneにpを与えておかないと、指定したフォルダにではなくINBOXに配送されてしまう。このことに気が付かなくてしばし悩んでしまった。
bsfilterのIMAP運用
bsfilterを動かしているマシン以外でメールを読み書きするようになったため、wl-bsfilter.elを使えなくなってしまった。そんなわけで、次のようにして運用することにしてみる。
- INBOXをbsfilterに見させ、SPAMかどうかに応じてINBOX.maybe_cleanとINBOX.maybe_spamに振り分ける。
- 誤判定されたメッセージがあったらINBOX.cleanやINBOX.spamに投げこんでおく。
- INBOX.cleanとINBOX.spamもbsfilterに見させる。ただし、それぞれ非SPAMとして登録しなおすモード(--sub-spam --add-clean)とSPAMとして登録しなおすモード(--sub-clean --add-spam)で処理させる。
- ぐるぐるまわす。
登録しなおしによってメッセージは再びINBOX.maybe_cleanまたはINBOX.maybe_spamに戻ってくるので、非SPAMとして登録をしなおしたメールに関しては二度見てしまうことになるが、まあ、それはよしとする。
誤判定されたメッセージをちまちまと移動するのも面倒なので、wl-bsfilter.elと同じようなインタフェースのwl-bsfilter2.elとかいうのをでっちあげた。bsでSマークが付き、bcでCマークが付く。xでそれぞれに対応したフォルダに移動され、後の処理はどこかで動いているbsfilterにまかせる、という感じ。
bsfilter 1.35 + IMAP 2
bsfilterがSPAM判定する際にSEENフラグがセットされてしまうので、これを解除するようにしてみた(パッチ)。
前に作ったパッチでは、移動させるときにソートしていたのだけど、これはどうしようか。MTAが落ちていた場合など、メッセージの順番がぐちゃぐちゃになっているときでも多少マシになる可能性があるという程度なんだが。
bsfilter + IMAP
とりあえずメールを移動させるようにしてみた。コピー時にエラー状態になった場合には例外が上がるはずなので、対処らしい対処はせず ;-) テスト的に運用してみている範囲では問題は起きていない。まあ、これからだろう。とりあえずパッチ。
Cyrus imapdを使っているのだけどfetchにbody[...]を与えるとエラーになってしまうようでまいる。RFCからコピーしてきたりもしたので、与え方としてはあっているのだと思うのだけど…。
追記: $options["imap-folder-clean"]がnil以外のときだけ移動するようにするといいのかな。後でやってみよう。
追記2: DateフィールドがおかしなメッセージがあるとTime.parseでコケてしまう。rescueしてINTERNALDATEを使うようにしとこう(パッチを更新)。
bsfilter + KAKASI 1
KAKASIを使うコードが入ってないので場当り的に追加してみた。KAKASIが入っていないのは意図されたものかもしれないのだけど、MeCab.debがまだないので。
bsfilter + IMAP 3
やあ、これは試さなければ。

