「Ruby/rails/mail」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→サンプル) |
|||
行20: | 行20: | ||
layout 'mailer' | layout 'mailer' | ||
def send_mail_sample() | def send_mail_sample() | ||
+ | @url = "ttp://hogehoge.com" | ||
mail( | mail( | ||
subject: "テストメールです。", | subject: "テストメールです。", | ||
to: "to@example.com" | to: "to@example.com" | ||
) do |format| | ) do |format| | ||
− | + | format.html | |
end | end | ||
end | end | ||
end | end | ||
+ | |||
+ | app/views/applicatioin_mailer/send_mail_sample.html.erb | ||
+ | テストメールです本文 | ||
+ | <%= 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