「Ruby/rails/mail」の版間の差分
提供: 初心者エンジニアの簡易メモ
(ページの作成:「==mailを送信するために使ったrailsのライブラリ== ActionMailer ==サンプル== config/initializers/mail.rb ActionMailer::Base.delivery_method = :smtp A...」) |
(→サンプルのメール送信) |
||
(同じ利用者による、間の7版が非表示) | |||
行2: | 行2: | ||
ActionMailer | ActionMailer | ||
− | == | + | ==yahooメールを使う場合のサンプル== |
config/initializers/mail.rb | config/initializers/mail.rb | ||
ActionMailer::Base.delivery_method = :smtp | ActionMailer::Base.delivery_method = :smtp | ||
行16: | 行16: | ||
app/mailers/application_mailer.rb | app/mailers/application_mailer.rb | ||
− | class | + | class ApplicationMailer< ActionMailer::Base |
− | default from: ' | + | default from: 'hogehoge@yahoo.co.jp' |
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 | ||
class TestController < ApplicationController | class TestController < ApplicationController | ||
def email | def email | ||
− | ApplicationMailer. | + | ApplicationMailer.send_mail_sample().deliver |
render :json => "test" | render :json => "test" | ||
end | end | ||
行40: | 行45: | ||
get 'test/email' | get 'test/email' | ||
− | =サンプルのメール送信== | + | ==サンプルのメール送信== |
~/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 | ||
==参考== | ==参考== | ||
https://qiita.com/hirotakasasaki/items/ec2ca5c611ed69b5e85e | https://qiita.com/hirotakasasaki/items/ec2ca5c611ed69b5e85e |
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