コントローラーの内部:
def update
@user.update({approved: true})
UserMailer.send_approved_mail(@user)
redirect_to(root_url)
end
user_mailer.rb内
class UserMailer < Devise::Mailer
def send_approved_mail(user)
@resource = user
email_body = render "user_activated_mail"
if @resource.valid?
client = Postmark::ApiClient.new(ENV["POSTMARK_API_KEY"])
client.deliver(from: ENV["POSTMARK_SIGNATURE"],
to: @resource.email, subject: "User Activation information.",
tag: 'account-activated', :content_type => "text/html",
html_body: email_body)
end
end
end
上記の Rails 4.1.0 ではコントローラーのメソッドが呼び出され、電子メールが送信されますが、Rails 4.2 ではコントローラーのメーラー メソッドは呼び出されませんが、Rails コンソールから呼び出されると機能します。消印APIと構成ファイルに必要なすべての構成を行いました。唯一のことは、コントローラー内のレール4.1.0メーラーが呼び出されることですが、レール4.2ではそうではありませんが、レールコンソールから呼び出されたときに機能します。実際にそれを理解できない正確な理由は何ですか。