8eb6dd78a1
As mailers are run asynchronously, they don't have access to the CurrentConfirmation defined in an earlier request. For the procedure_after_confirmation to be serialized to the Mailer, we need to pass it at creation time.
21 lines
706 B
Ruby
21 lines
706 B
Ruby
# Preview all emails at http://localhost:3000/rails/mailers/devise_user_mailer
|
||
class DeviseUserMailer < Devise::Mailer
|
||
helper :application # gives access to all helpers defined within `application_helper`.
|
||
include Devise::Controllers::UrlHelpers # Optional. eg. `confirmation_url`
|
||
layout 'mailers/layout'
|
||
|
||
# Don’t retry to send a message if the server rejects the recipient address
|
||
rescue_from Net::SMTPSyntaxError do |_error|
|
||
message.perform_deliveries = false
|
||
end
|
||
|
||
def template_paths
|
||
['devise_mailer']
|
||
end
|
||
|
||
def confirmation_instructions(record, token, opts = {})
|
||
opts[:from] = NO_REPLY_EMAIL
|
||
@procedure = opts[:procedure_after_confirmation] || nil
|
||
super
|
||
end
|
||
end
|