Ruby/rails/mail
提供: 初心者エンジニアの簡易メモ
目次
mailを送信するために使ったrailsのライブラリ
ActionMailer
yahooメールを使う場合のサンプル
config/initializers/mail.rb
ActionMailer::Base.delivery_method = :smtp ActionMailer::Base.smtp_settings = { address: 'smtp.mail.yahoo.co.jp', domain: 'yahoo.co.jp', port: 587, user_name: 'ユーザアカウント', password: 'パス', authentication: 'plain', enable_starttls_auto: true }
app/mailers/application_mailer.rb
class ApplicationMailer< ActionMailer::Base default from: 'hogehoge@yahoo.co.jp' layout 'mailer' def send_mail_sample() @url = "ttp://hogehoge.com" mail( subject: "テストメールです。", to: "to@example.com" ) do |format| format.html end end end
app/views/applicatioin_mailer/send_mail_sample.html.erb
テストメールです本文 <%= url %>
app/controllers/test_controller.rb
class TestController < ApplicationController def email ApplicationMailer.send_mail_sample().deliver render :json => "test" end end
config/routes.rb
get 'test/email'
サンプルのメール送信
~/test/emailにブラウザでアクセス
Net::SMTPAuthenticationErrorエラーが出る場合
gmailの場合は、不正ログインチェックが来てないか再度ログインして確認して見る
gmailの場合は以下のように書き換える
config/initializers/mail.rb
address: 'smtp.gmail.com', domain: 'gmail.com', port: 587, user_name: 'ユーザーアカウント名', password: 'パス', authentication: 'plain', enable_starttls_auto: true