2012年8月8日

気になるメールだけGmailから携帯へ転送

メールを一日に一回か二回しか見ないという、ライフハックがよく提案されている。
ほとんどのメールはそれでもいいのだけれど、誰かとやりとりしているメールは、ある程度リアルタイムに知りたかったりする。
で、そのためだけにメールチェックをすると、ついつい他のメールを見てしまう。あげくにメルマガなんかを読み出すと、そこに紹介されているリンクにジャンプして、いもづる式ネットサーフィンがはじまる。。。

やっぱりこれはいかん!ということで、メール管理システムを少し考え直した。

Gmailのばあい大事なメールはうまく設定すると、Priority Inboxに入ってくれるようになるけれど、それをしょっちゅうチェックすると、やっぱりネットサーフィンの罠にはまってしまう。
今やりたいことは、割り込み仕事に対応する事ではなく、「誰かのメールによるアクションを待っている仕事をウォッチすること」だ。

こういうものは、@waitというラベルを作って、そこにいれることに決めた。
誰かにお願いメールを送ったときも、送信箱に残るお願いメールを、@waitボックスに入れておく。
そうすると、相手のアクションは、@waitボックスに入ったメールへの返信のかたちで到着するので、やっぱりこのボックスに入ってくる。
@waitを監視しておけば、相手からの返信があればすぐに分かる。
もちろん、こちらのリクエストに返信で返さない人もいるけれど、そういう人のメールは、基本、優先度は低くなっても仕方ないかなと思う。

相手が目上だったりして、そうもいかないときは、 そのときだけ、Gmailのフィルタを作って、その人からのメールはすべて@waitに入るようにしてもいい。
ただし、待っている仕事が終わったら、すぐにフィルタを削除しないと、だんだんこのフィルタが肥大化して、Priority Inboxと似たようなものになってしまうので、ここだけは気をつけないといけない。

せっかくなので、スクリプトを作ってみた。
 このスクリプトは、
  1. Gmailの@waitボックスの新着メールをチェックして、
  2. 新着があれば取得
  3. タイトルと本文を登録したメアド(通常は携帯かな)に送信
  4. メールを既読にする  
という処理をするメール。
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 件のコメント: