@Konboi memo

主に技術に関してつらつらと。

【使ってみた】gem gmail

はじめに

先日、定期的にメールを送る必要があったので自分のカレンダーに予定をいれて手動でやるとハゲそうなので、何かいいgemはないかと探してみました。

今回は、この gem: gmail を使うとにしました。

こちらを選んだ理由としては

  • メールを送信するアカウントが Google Apps を使用したアカウントなのでGoogle Apps アカウントでも使用できる

  • スターが 500件以上ある(ただ、最終更新日が1年以上なので少し心配ですね)

  • README をみる限り使い方が、簡単だった。

以上の理由から使うことにしました。

迷ったのが、ドキュメントをみると、こちらのgem: ruby-gmailを元に作っていて、使い方もほぼ変わらないし、最終更新日もほぼ同じなので githubのスタート的に gmail の方が多かったので使うことにしました。

インストール

Gemfile に

source 'http://rubygems.org'

gem 'gmail'

を記述し

bundle install —path vendor/bundler

使ってみる

あとは、README をみて使ってみる。 今回はメールを送信してみる。

app.rb

gmail = Gmail.connect("#{gmail-user-account}", "#{gmail-user-password}")
gmail.deliver do
  to “sample@example.com”
  cc “sample@hoge.com”
  subject “send test”
  text_part do
    body “hello word”
  end
end

gmail.logout
bundle exec ruby emai.rb

これでメールがtoの記述したアドレスにメールが届く。

応用?

  • to,cc,bcc で複数の宛先に送りたい時は “‘hoge@foo.com’, ‘fuga@foo.com’” の用にカンマ区切りで記述する。

  • 自分の場合だがGoogle Apps アカウントでメールを送る時の Gmail.conecct での引数は ( “アカウント名”, “パスワード”) ではなく ( “メールアドレス”, “パスワード”) でいけました。

最後に

  • Railsの場合は、mailer が準備されてるので、メールを送りたい場合はテンプレートも使えて柔軟にいろいろできるので、そっちを使えばいいと思いますが、ない場合は手軽なのでオススメです。

  • 使うアカウントがgmailと決まっていて、メール送るだけでいいとか、Railsみたいにメーラーが備わってない場合などは使って見るのもいいかもしれません。

  • Perl CPANモジュールガイドみたいなgem本ないのかな。

Perl CPANモジュールガイド
冨田尚樹
ワークスコーポレーション
売り上げランキング: 138,554
Ruby Gem Box―ツール利用でここまでできる
RubyUnit
オーム社
売り上げランキング: 978,687