Mail.appでTwitterに投稿する
2009/11/24 (火) カテゴリー/AppleScript
Mail.appで受信したメールの本文をTwitterに投稿するスクリプトを作ってみた。
最近携帯でTwitterに投稿する際、
「ログインがめんでぇー」
と生来の面倒臭い病が発病。公式のモバイルページを使っているのですが、
・ブラウザでTwitter.comを開く
・ユーザ名入力
・パスワード入力
このステップが激しく面倒臭い。
「ちょっと投稿したいだけ」
って時にブラウザ動かすなんていう、たいそうなことをしたくないわけです。
海外ではSMSなんかでさくっと投稿できるらしいですが、仮に日本で同様のことができてもSMSの料金払ってまで投稿とかはちょっと考えものですね。
そこでメールを使って投稿しようと考えてみました。Twitterにメールで投稿するサービスはいくつかあるんですが、せっかくなので自分で手軽にできないかと考えてみることに。
自分でとなると意外と敷居の高いメール投稿。ここは一つお手軽にMail.appでルールを作成してApplescriptを動かすというなんとも回りくどい方法をとってみました。
まずは以下のApplescriptを作成
※上記スクリプをproxy利用環境で利用するにはこちらの記事を参考にcurlコマンドを書き換えてください
これで受信したメールの本文がTwitterに投稿されます。スクリプト中の「ユーザ名:パスワード」の部分は使用されるアカウントの値に設定してください。ここらへん、セキュリティ的には微妙ですがそもそもAPIの実行自体がベーシック認証なんで気にしないことにしましょう。
さてこのスクリプトができたら今度はMail.appにこのApplescriptを動かすルールを作って適用します。Mail.appのメニューがから「環境設定」を選んでルールタブを開きます。私はこんな感じで設定してみました。

Subjectはメールの件名、fromは送信元のメールアドレス。「以下の動作を実行」の部分で先程作成したApplescriptを指定します。さてこの設定の動きです。fromのメールアドレスを携帯電話のアドレスにしておけば、
「携帯電話から送られたメールの件名が"TwitterPost"であればTwitterに投稿する」
という動きになります。
これでMail.appの新着受信で受信されたメールにルールが適用されればTwitterに投稿されます。
とまあここまでやっておきながらこれはこれで常にマックを起動しっぱなしにしておかなければならないので世間のエコな流れに真っ向勝負な感がありますし、スリープになっても動くのかよ? という疑問も有ります。まあ、FC2の広告表示阻止ようのネタとしてはそこそこの内容ですかね??
最近携帯でTwitterに投稿する際、
「ログインがめんでぇー」
と生来の面倒臭い病が発病。公式のモバイルページを使っているのですが、
・ブラウザでTwitter.comを開く
・ユーザ名入力
・パスワード入力
このステップが激しく面倒臭い。
「ちょっと投稿したいだけ」
って時にブラウザ動かすなんていう、たいそうなことをしたくないわけです。
海外ではSMSなんかでさくっと投稿できるらしいですが、仮に日本で同様のことができてもSMSの料金払ってまで投稿とかはちょっと考えものですね。
そこでメールを使って投稿しようと考えてみました。Twitterにメールで投稿するサービスはいくつかあるんですが、せっかくなので自分で手軽にできないかと考えてみることに。
自分でとなると意外と敷居の高いメール投稿。ここは一つお手軽にMail.appでルールを作成してApplescriptを動かすというなんとも回りくどい方法をとってみました。
まずは以下のApplescriptを作成
using terms from application "Mail"
on perform mail action with messages theMessages
tell application "Mail"
repeat with eachMessage in theMessages
set login to "ユーザ名:パスワード"
set PostData to content of eachMessage
set status to quoted form of ("status=" & PostData)
set results to do shell script "curl -u " & login & " -d " & status & " http://twitter.com/statuses/update.xml"
end repeat
end tell
end perform mail action with messages
end using terms from
※上記スクリプをproxy利用環境で利用するにはこちらの記事を参考にcurlコマンドを書き換えてください
これで受信したメールの本文がTwitterに投稿されます。スクリプト中の「ユーザ名:パスワード」の部分は使用されるアカウントの値に設定してください。ここらへん、セキュリティ的には微妙ですがそもそもAPIの実行自体がベーシック認証なんで気にしないことにしましょう。
さてこのスクリプトができたら今度はMail.appにこのApplescriptを動かすルールを作って適用します。Mail.appのメニューがから「環境設定」を選んでルールタブを開きます。私はこんな感じで設定してみました。

Subjectはメールの件名、fromは送信元のメールアドレス。「以下の動作を実行」の部分で先程作成したApplescriptを指定します。さてこの設定の動きです。fromのメールアドレスを携帯電話のアドレスにしておけば、
「携帯電話から送られたメールの件名が"TwitterPost"であればTwitterに投稿する」
という動きになります。
これでMail.appの新着受信で受信されたメールにルールが適用されればTwitterに投稿されます。
とまあここまでやっておきながらこれはこれで常にマックを起動しっぱなしにしておかなければならないので世間のエコな流れに真っ向勝負な感がありますし、スリープになっても動くのかよ? という疑問も有ります。まあ、FC2の広告表示阻止ようのネタとしてはそこそこの内容ですかね??
コメント(0) | トラックバック(0) | ↑ページトップ
| ホーム |

この記事へのコメント