はじめに
メールをプログラムから送りたいってよくありますよね
そのときいつも問題になるのはSMTPサーバです。
そんなとき、Rubyから天下のGmailを使えば超ミラクル簡単にメールを送信することができます
アプリパスワードの取得
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
とか)はこっちをみたほうがよさそうです。