LoginSignup
3
1

More than 3 years have passed since last update.

RubyでGmailを送信する基礎

Last updated at Posted at 2021-01-10

出涸らし情報だけどRuby教えるときに便利なので手順メモ

Gmailのアプリパスワードを取得する

要は以下のような16桁が欲しい
スクリーンショット 2021-01-10 9.03.09.png

以下作業はこちらの画面で行います。

  1. Google 二段階認証を有効にする (これやらないとパスワードが取れない!)
    • [パスワードとログイン方法] -> [2段階認証プロセス]
    • SMSで認証して有効化させる
  2. アプリパスワードを取得する
    • [パスワードとログイン方法] -> [アプリパスワード]
    • [アプリを選択]と[デバイスを選択]をそれぞれ入力 (本人が管理できればなんでもいい。。はず)
    • アプリパスワードが生成されるので控えておく

gem mail をインストール

$ gem mail install

サンプルコードを書く

send_gmail.rb
require 'mail'

from   = 'my_gmail_address@gmail.com'
password = '16_digit_app_password'
to = 'to_address@gmail.com'

Mail.defaults do
  delivery_method :smtp, {
    address: 'smtp.gmail.com',
    port: 587,
    domain: 'example.com',
    user_name: from,
    password: password,
    authentication: :login,
    enable_starttls_auto: true
  }
end

m = Mail.new do
  from "#{from}"
  to "#{to}"
  subject "Great Mail Title"
  body "Fantastic body blar blar"
end

m.charset = "UTF-8"
m.content_transfer_encoding = "8bit"
m.deliver

取り敢えずこれで動くはず。

参考情報

Ruby を使って Gmail 経由でメール送信
http://1bed.allright.life/?p=2004

3
1
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
3
1