mailerを実装しているのですが、メールが送れない状態にあります。
私は、今現在、mailerを使い、あるページに移動すると、メールが送信されるようにしたいと考えています。しかし、controllerの設定がうまくできていないこともあり、送ることができない状態にあります。もしわかる方がいらしたら、教えていただきたいです。
controller/tourist/done.controller.rb
def done
TouristMailer.tourist_payment_mail(self).deliver_now
end
config/environment/development.rb
config.consider_all_requests_local = true
config.action_controller.perform_caching = false
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
address: 'smtp.gmail.com',
port: 587,
domain: 'smtp.gmail.com',
user_name: '******@gmail.com',
password: '**********',
authentication: 'plain',
enable_starttls_auto: true
}
application_mailer.rb
class ApplicationMailer < ActionMailer::Base
default from: "******@gmail.com"
layout 'mailer'
end
model/tourist.rb
class Tourist < ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
after_create :send_welcome_mail
def send_welcome_mail
TouristMailer.tourist_welcome_mail(self).deliver_now
end
def tourist_payment_mail
TouristMailer.tourist_payment_mail(self).deliver_now
end
has_many :guiders
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
end
tourist_mailer.rb
class TouristMailer < ApplicationMailer
default from: '<*******:@gmail.com>'
def tourist_payment_mail(tourist)
@tourist = tourist
mail(
from: '<******@gmail.com>',
to: '<#{@tourist.email}>',
subject: 'お問い合わせ'
)
end
end
tourist_payment_mail.html.erb
<html lang="ja">
<head>
<meta content="text/html; charset=UTF-8" />
</head>
<body>
<h2><%= @tourist %> 様</h2>
<hr />
<p>
こんにちは! <%= @tourist %>さん!</p>
<hr />
</body>
</html>