この記事はLife is Tech ! Members Advent Calendar 2017の3日目の記事です。
#今回の環境
- Cloud9
- Sinatra 1.4.7(?)
以上。
#やりたいこと
- 会員登録などの際に登録されたメールアドレスに確認メールを送信したい
#実装!
以下のコードを追記する
gem 'ruby-gmail', '~> 0.3.1'
require 'gmail'
def send_message(mail_address, mail_subject, mail_body)
gmail = Gmail.new("<MailAddress>", "<Password>")
message =
gmail.generate_message do
to mail_address
subject mail_subject
html_part do
content_type "text/html; charset=UTF-8"
body mail_body
end
end
gmail.deliver(message)
gmail.logout
end
使いたいところに以下のコードを挿入する
send_message(<EmailAddress>,<Subject>,<Body>)
※BodyはHTMLタグを使えます。
例
send_message("example@example.com","会員登録が成功しました","<p>会員登録ありがとうございます。</p>")
以下のコマンドを実行する
$ bundle --without production
#仕上げ
Googleは頭がいいので、怪しいアプリのアカウントへのログインを弾いてしまいます。これを回避するには、二段階認証を有効にし、アプリ固有のパスワードを設定する必要があります。
-
使用するGmailのアカウントにログインしておく
-
google.comにアクセスし、右上のアカウント画像をクリック→「Googleアカウント」をクリック
-
左側にある「セキュリティ」をクリック
-
ちょっと下に行き、「2段階認証プロセス」をクリック
- パスワードを入力する
- 携帯電話番号を入力する
- 届いたコードを入力する
- 「オンにする」をクリックする
- 赤で囲まれたボタンを押す
- 届いたコードを入力
- 赤で囲まれたボタンを押す
- アプリの名前を入力(適当でok)
- アプリパスワードが生成されるので、「実装!」で実装した
gmail = Gmail.new("<MailAddress>", "<Password>")
のPasswordを変える
#終わりに
意外と簡単だったww
明日も…まだ埋まってませんね。。。誰か入ってください!!!!