GPushがあまりにも不甲斐なかったので、自作したわけです。
ええと、IMAPやGMailの着信通知をiPhoneにPushしたい。
そんな要望にこたえるのが
GPushというアプリであった。
しかし、GPushはGMailのアカウント情報をGPushのサーバに知らせなくてはいけない(らしい)。
そんなことは絶対したくない。パスワードを見知らぬ外部サイトに登録するなんてとんでもない。
しかもなにやら、サーバ側のトラブルでGPushはいま公開停止になっているとか。
そこで、代替手段を考えていたところ、
Prowlというのがあってこれは
GrowlというOS X用の通知アプリケーションと連携してiPhoneへPushできるんだそうだ。
なかなかすばらしい。
Windows版もあるみたい。
ProwlアプリはAppStoreで購入できる。
そして、いろいろ調べているとこの Prowl、厳密にはGrowl専用というわけではなくてAPIが公開されており、各種言語用のAPIライブラリもあった。
こりゃー自作するしかないでしょう。
つうわけで、1時間ほどでできたのが
IMAProwl。
Rubyです。
準備
- Prowlにアカウント作ってください
- AppStoreからProwlを買ってください
チェックアウトと、ruby/prowlのインストール
git clone git://github.com/takuo/IMAProwl.git
gem install prowl
config.ymlを編集する。
複数のアカウントを登録できます。
Prowl:
APIKey: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Accounts:
-
Application: GMail
User: example@gmai.com
Pass: secret
Host: imap.gmail.com
Debug: true
-
Application: Example
User: gonbe
Pass: himitsu
Host: imap.example.com
MailBox: news
Debug: true
Prowl::APIKey にはProwlアカウントで発行したAPI keyを。
あとはimaprowl.rbを実行するだけ。
注意
- SSL専用です。PORTが993でない場合は Port: を定義。
- UNSEENをチェックするフォルダが INBOXでない場合は MailBox: を定義
- notificationキャッシュはオンメモリなので再起動するとすべてのUNSEENメッセージをnotificationしちゃいます。
- まだ気に入らない部分がいくつかあり、完成ではないです。