「Ruby/rails/mail」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→サンプル) |
(→サンプルのメール送信) |
||
(同じ利用者による、間の2版が非表示) | |||
行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 | ||
行42: | 行47: | ||
==サンプルのメール送信== | ==サンプルのメール送信== | ||
~/test/emailにブラウザでアクセス | ~/test/emailにブラウザでアクセス | ||
+ | |||
+ | ==Net::SMTPAuthenticationErrorエラーが出る場合== | ||
+ | gmailの場合は、不正ログインチェックが来てないか再度ログインして確認して見る | ||
==gmailの場合は以下のように書き換える== | ==gmailの場合は以下のように書き換える== |
2019年1月19日 (土) 04:58時点における最新版
目次
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