たまたま先週末、いつも使っているThinkPad X40を会社に忘れて帰宅してしまったんです。
で困ったのがメール。普段はX40のBeckyで読んでいるため、週末メールが読めない。。。緊急のメールとかあったら困るなぁと小一時間考えて、どうせならなんかメーラを試してみようかと思いました。

今までメーラはいろいろ試しました。WinではBeckyだけですが、Unix環境では、mh-e、mew、wonderlust、muttなどなど。でもせっかくなので他のが使ってみたい。んでちょっと前に知った morq というメーラを試すことにしてみた。まぁ週末だけだし、さくっとインストールできるやつを試そうと。
morqはRastのプロジェクトの副産物みたいなものらしいです。コアはRubyでできていて、それをemacsで使用するための側を作っただけのシンプルなやつです。んで、特徴はメールをすべてRastに通して検索ベースでメールを読むというもの。なのでメーラー自体にはフォルダという観念がない!すげー。必要ならなんでも検索である。
とりあえずインストールはRubyとRastとemacsとあとbogofilterがインストールされてる環境であればそんな難しくないと思います。
それと使ってて動作が変だなということで修正したソースは下記。
  • morq.el
  • morq.el では、 hscroll という emacs のパッケージを使っているのですが、それは emacs のバージョン22系だと obsolete されているためエラる。ということで、その部分をコメントアウト(morq.elの179行目)。
  • morq/list.rb
  • 最近スパムとかで2038年より先の日付とか送ってくるアホなメールとかあったりしますよね。morqで一覧を表示するときにそれらの日付をパースするときにコケるので、それを修正。Ruby の Time.at(epoch) で 2038-01-19 03:14:07以降が扱えなくなってるらしいので list.rb の76行目あたりを下記のように変更。ちなみに2038年以降のepochをパースしてくれるRubyのモジュールを見付けられず…。なんかないの!?
          if elem[4] <= 2147483647
            time = Time.at(elem[4])
          else
            time = Time.at(2147483647)
          end
これだけやったら、あとは fetchmail でメールを取ってきて、procmail でフィルタで Rast にメールを渡してあげるだけでいいみたい。ちなみに procmail でフィルタするには .procmailrc を下記のようにすればいい。
PATH=/bin:/usr/bin:/usr/local/bin
MAILDIR=$HOME/Maildir
DEFAULT=$MAILDIR/.default/
LOGFILE=$MAILDIR/procmaillog
LOCKFILE=$HOME/.lockmail

:0 fw
| morq inc
かなりはしょって説明しているのでわかる人しかわからなそうな気がしてきた…ww
ここまでできればあとは使うだけ。使ってみての正直な感想は、自分の今いる会社だと実用にはちょっと無理があるかも…。というのもうちは一日に来るメール数がハンパない数なので自分が必要としているMLの名前も凄い数。なのでそれを暗記しといて毎回検索ってのは無理があるかな…と。でもそんなに1日のメールの量が多くないよって人だったらばけっこう使い易いかもね。

検索の速度ですが、Rast だけあって結構早いです。日本語での検索も問題なし。ヘッダーや本文あらゆるもので絞り込みが可能です。ということで週末だけ使ってみましたが、緊急用やメール量の少ない人には○かなといった感じです。

もうちょっとIFの機能を増やしてくれたりするともっと使う人増えるんじゃないかと思います(自分で変更してパッチ送れという話は置いておいて…)。たとえば複数選択して一気になにかを処理とか(あるのかな?。