このブログを置いているGitHub Pagesでは PHPとか動かすことが出来ないわけですが、 そんな状況でメールをブログ側から送りたいと思った時、 JavaScriptだけでメールを送る方法があったのでそれについて。
Mandrill
Transactional Email from MailChimp - Mandrill
Mandrillというサービスがあって、このサービスのAPIを使うと JavaScriptだけでメールを送ることが出来ます。
無料だと、月に12000通まで送ることが出来て、 それ以上使いたい場合には100万通までは1000通毎$0.20、 それ以上で500万通までは$0.15/1000通、 それ以上では$0.10/1000通で増やせるとのこと。
また、一時間当たりの制限というのもありますが、これは使用状況によって 適時変更されるようで、 取り敢えず今最初に登録した時には252通/hでした。 (自分だけではなくて他の人の使用状況にも依るのかもしれません。)
このAPIを利用するために、まずSign Upして、
ログインすると、Settings
という項目で
APIのKeyを取得することが出来るので取ってきます。
後は、https://mandrillapp.com/api/1.0/messages/send.json に向かってajaxでpostしてあげるだけでOK。
まず、次のようなJavaScriptを用意します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
送るdataについては Messages API Mandrill を参照。
取り敢えずは最低限上の様な感じでOKだと思います。
from_email
に関しては、[email protected]
みたいなメールアドレスとして
validな感じだとなんでも送ってくれるみたいでした。
宛先はto
で指定してるところですが、これは配列になってるのが見れるように、
複数の宛先を指定することも可能です。
html
に値を指定するとhtmlが送れます。
ただのテキストを送りたいときはtext
という値に指定してあげます。
次に、これをhead
の中などで読み込みます。
jQueryが必要なので忘れずに。
1 2 |
|
後は、使いたい所でボタンでも作ってそこで上の関数sendMail
を
呼ぶようにしてあげれば良いだけです。
1 2 3 |
|
これだけでGitHub Pagesの様な静的なホストからでもメールを送れるようになります。
Mandrillの自分のページでも、メールの管理も出来るのでちょっと便利。
追記: 2014/12/30
だれかが JavaScriptだけでブログがコピーされた時にその内容をメールで送る でやってる設定を使ってこのポストで遊んで
「こ」「ン」「に」「ち」「は」
と送ってくれました。
追記ここまで