2011年05月08日
Heroku + Sendgrid
Heroku からメールを送信したかったので、アドオンである Sendgrid を使うことにした。無料の Sendgrid は 1 日 200通までという制限がある。メールの送信は Daily Cron の結果通知にしか使う予定がないので、特に制限は気にする必要がなかった。
add Sendgrid
% heroku addons:add sendgrid:free
mail gem を使う
Rails を使う場合の説明は公式のドキュメントに書いてあるけれど、Rails 以外のフレームワークを使う場合は具体的な説明はなかった。Pony がおすすめと書いてあった。
が、 mail を使うことにした。はじめは ActionMailer を使おうとしたけれど、ActionMailer をインストールしたら、依存関係で mail もインストールされたので、じゃあ mail にしようか、という流れ。
設定
メール送信のための設定。環境変数から ユーザ名やパスワードを取得。
Mail.defaults do delivery_method :smtp, { :address => 'smtp.sendgrid.net', :port => 25, :authentication => 'plain', :user_name => ENV['SENDGRID_USERNAME'], :password => ENV['SENDGRID_PASSWORD'], :domain => ENV['SENDGRID_DOMAIN'], } end
送信
cron の結果には日本語が含まれていれ、そのまま送信すると文字化けするので文字コードを変換して送信。文字コード変換のところはもっといいやり方があるかも。
宛先は環境変数に登録しておく。
message = report.encode('iso-2022-jp').force_encoding('binary') mail = Mail.new do from 'from@example.com' to ENV['REPORT_MAIL_TO'] subject subject body message end mail.charset = 'ISO-2022-JP' mail.deliver
参考
トラックバック - http://d.hatena.ne.jp/yamamucho/20110508/1304818389
リンク元
- 4 http://webcache.googleusercontent.com/search?q=cache:3Ata56BxJ7oJ:d.hatena.ne.jp/yamamucho/20110319/1300511690+mysql+13306+ポート&cd=1&hl=ja&ct=clnk&gl=jp&client=firefox-a&source=www.google.co.jp
- 3 http://reader.livedoor.com/reader/
- 3 http://www.google.co.jp/search?q=sinatra+sqlite&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&hl=ja&client=firefox-a
- 3 http://www.google.co.jp/search?source=ig&hl=ja&rlz=1G1TSJH_JAJP407&q=酔いどれ+コード&aq=7&aqi=g8&aql=&oq=酔いどれ
- 3 http://www.google.co.jp/url?sa=t&source=web&cd=1&ved=0CBkQFjAA&url=http://d.hatena.ne.jp/yamamucho/20090818/1250596101&rct=j&q=ubuntu パッケージ アップデート&ei=c
- 3 http://www.google.co.jp/url?sa=t&source=web&cd=1&ved=0CBwQFjAA&url=http://d.hatena.ne.jp/yamamucho/20110303/1299155341&rct=j&q=php 任意 文字列 生成&ei=Kt3HTeOSIo_svQPIloy
- 3 http://www.google.com/url?sa=t&source=web&cd=1&ved=0CBsQFjAA&url=http://d.hatena.ne.jp/yamamucho/20090818/1250596101&rct=j&q=ubuntu 更新 コマンド&ei=7yvHTen7BJCwuAPbqaymAQ&usg=AFQjCNHBwf_nUTjWfm3KU
- 2 http://www.google.co.jp/m/search?ie=Shift_JIS&gl=jp&source=mig&hl=ja&q=リモート 編集 VIM
- 2 http://www.google.co.jp/search?aq=f&sourceid=chrome&ie=UTF-8&q="dev/tty"
- 2 http://www.google.co.jp/search?hl=ja&lr=lang_ja&client=firefox-a&hs=sZG&rls=org.mozilla:ja-JP-mac:official&biw=789&bih=490&tbs=lr:lang_1ja&q=heroku+sinatra+db&oq=heroku+sinatra+db&aq=f&aqi=&aql=&gs_sm=e&gs_upl=2095l4857l0l14l12l0l6l6l0l642l1264l1.4.

