im.kayac 使ってメール本文を通知
im.kayac が最近バージョンアップして、待望のiPhoneアプリができたり EMail で通知できるようになったりとかなり使い勝手がよくなっていました。
でも Email での通知が件名しか表示されず本文は通知できなくて残念だったのでその辺をどうにかした。
#!/usr/bin/ruby -w require 'rubygems' require 'tmail' require 'net/http' im_username = 'username' im_password = 'password' email = TMail::Mail.parse(STDIN.read) body = email.body from = email.from body.each_line do |message| next if message.strip.empty? Net::HTTP.start('im.kayac.com', 80) { |http| response = http.post("/api/post/#{im_username}", "message=#{message}from:#{from}&password=#{im_password}") } end
このスクリプトを自分のサーバの /etc/aliases もしくは /etc/postfix/aliases に登録してメールがきたらスクリプトに渡すようにします。
# vi /etc/aliases push: "| /usr/bin/ruby /home/user/pushkayac.rb" # newaliases
# vi /etc/postfix/aliases push: "| /usr/bin/ruby /home/user/pushkayac.rb" # postalias /etc/postfix/aliases
これで push@localhost に届いたメールの本文とfromがiPhoneに通知されるようになります。
メールで通知できればいろいろ応用が聞くと思うのでいろいろ通知して快適な通知ライフを送りたいとおもいます!
ちなみに ruby とかほとんど触ったことないのでつぎはぎな感じになってると思うのでなんかもっとこうしたほうが芸術的!とかあったら教えてください!
とりあえず plagger 使って毎朝当日の天気が通知されるようにしたのと10分前にアニメの放送を知らせるようにしました。