
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しちゃいます。
- まだ気に入らない部分がいくつかあり、完成ではないです。
2 コメント:
ありがとうございます!!今インストールしました。感動です!
ところで、家族のためにメールとウェブサーバーを運用しているのですが、家族のiPhoneにも別のアカウントの新着notificationを送ることってできますでしょうか。もう一つのIMAProwlを別のフォルダーにインストールし、imaprowl.rbを別名で実行すれば家族のAPIKeyでもできますでしょうか。片言の日本語ですみません。意味が通じていますでしょうか。
Post a Comment