ほとんどのメールはそれでもいいのだけれど、誰かとやりとりしているメールは、ある程度リアルタイムに知りたかったりする。
で、そのためだけにメールチェックをすると、ついつい他のメールを見てしまう。あげくにメルマガなんかを読み出すと、そこに紹介されているリンクにジャンプして、いもづる式ネットサーフィンがはじまる。。。
やっぱりこれはいかん!ということで、メール管理システムを少し考え直した。
Gmailのばあい大事なメールはうまく設定すると、Priority Inboxに入ってくれるようになるけれど、それをしょっちゅうチェックすると、やっぱりネットサーフィンの罠にはまってしまう。
今やりたいことは、割り込み仕事に対応する事ではなく、「誰かのメールによるアクションを待っている仕事をウォッチすること」だ。
こういうものは、@waitというラベルを作って、そこにいれることに決めた。
誰かにお願いメールを送ったときも、送信箱に残るお願いメールを、@waitボックスに入れておく。
そうすると、相手のアクションは、@waitボックスに入ったメールへの返信のかたちで到着するので、やっぱりこのボックスに入ってくる。
@waitを監視しておけば、相手からの返信があればすぐに分かる。
もちろん、こちらのリクエストに返信で返さない人もいるけれど、そういう人のメールは、基本、優先度は低くなっても仕方ないかなと思う。
相手が目上だったりして、そうもいかないときは、 そのときだけ、Gmailのフィルタを作って、その人からのメールはすべて@waitに入るようにしてもいい。
ただし、待っている仕事が終わったら、すぐにフィルタを削除しないと、だんだんこのフィルタが肥大化して、Priority Inboxと似たようなものになってしまうので、ここだけは気をつけないといけない。
せっかくなので、スクリプトを作ってみた。
このスクリプトは、
- Gmailの@waitボックスの新着メールをチェックして、
- 新着があれば取得
- タイトルと本文を登録したメアド(通常は携帯かな)に送信
- メールを既読にする
Gmailを処理するGemがあることをこちらで知り、 さっそく使ってみた。
このスクリプト、あとは、cronで10分に一回ぐらい起動するようにすれば、誰かのアクションがあれば、その返事を携帯に届けてくれる。
デスクトップで仕事をしているときなら、これを使って、Growlに通知とかもいいかもしれない。
ま、特定のフォルダ(ラベル)を監視して、通知してくれるメールソフトがあれば、それでもいいのかもしれないけど。
require 'rubygems'
require 'gmail'
require 'kconv'
USER = 'your address'
PASS = 'your password'
MOBILE = "your mobile address"
gmail = Gmail.new(:plain, USER, PASS);
msgs = gmail.label(:@wait).find(:unread)
#msgs = gmail.label(:@wait).all
exit if msgs.empty?
msgs.each do |msg|
p "reading ID: #{msg}..."
p "#{msg.subject.toutf8} "
msg_subject = msg.subject.toutf8
msg_body = msg.body.decoded.toutf8
p msg_body
email = gmail.compose do
to MOBILE
subject msg_subject
body msg_body
end
email.deliver! # or: gmail.deliver(email)
msg.read!
end
gmail.logout
0 件のコメント:
コメントを投稿