LoginSignup
28
27

More than 5 years have passed since last update.

RubyでGmailを使ってメールを送信する

Last updated at Posted at 2015-11-18

はじめに

メールをプログラムから送りたいってよくありますよね :bulb:
そのときいつも問題になるのはSMTPサーバです。

そんなとき、Rubyから天下のGmailを使えば超ミラクル簡単にメールを送信することができます :dancers: :dancers: :dancers:

アプリパスワードの取得

Googleの2段階を設定してるとそのままパスワードを使うことはできません。
アプリパスワードというものを発行すればパスワードで認証できるようになります。

こちらのサイトで端末を適当に「Ruby」とかにしといてパスワードを生成してください。

gmail gemのインストール

Rubyにはメールクライアントがいくつかありますが、Gmailだけを使うならdcparker/ruby-gmailというgemが便利です。
メール送信だけじゃなく受信とか検索もできます。

gem install ruby-gmail

メールを送信する

次のプログラムでメールを送信できます。
詳しい説明は書きませんがフィーリングでなんとかなると思います。

require "gmail"

USERNAME = "hogehoge@foobar.com"
PASSWORD = "アプリパスワード"

gmail = Gmail.new(USERNAME, PASSWORD)

message =
  gmail.generate_message do
    to "foobar@hogehoge.com"
    subject "題名"
    html_part do
      content_type "text/html; charset=UTF-8"
      body "<h1>Email from Ruby!!</h1>"
    end
  end

gmail.deliver(message)
gmail.logout

詳しくはREADMEを読んでください!
内部ではmikel/mail gemを使ってるので、メッセージの設定方法(toとかsubjectとか)はこっちをみたほうがよさそうです。

28
27
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
28
27