facebook twitter hatena line email

「Ruby/rails/mail」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
行31: 行31:
  
 
app/views/applicatioin_mailer/send_mail_sample.html.erb
 
app/views/applicatioin_mailer/send_mail_sample.html.erb
テストメールです本文
+
テストメールです本文
<%= url %>
+
<%= url %>
  
 
app/controllers/test_controller.rb
 
app/controllers/test_controller.rb

2018年3月8日 (木) 21:50時点における版

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にブラウザでアクセス

gmailの場合は以下のように書き換える

config/initializers/mail.rb

   address: 'smtp.gmail.com',
   domain: 'gmail.com',
   port: 587,
   user_name: 'ユーザーアカウント名',
   password: 'パス',
   authentication: 'plain',
   enable_starttls_auto: true

参考

https://qiita.com/hirotakasasaki/items/ec2ca5c611ed69b5e85e