e34f82a6fb
Although we already ignore "invalid recipient" errors, a new type of error recently popped: the mail service responds with > Net::SMTPServerBusy '400 unexpected recipients: want atleast 1, got 0' We want to also ignore this kind of errors.
27 lines
855 B
Ruby
27 lines
855 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
|
||
|
||
rescue_from Net::SMTPServerBusy do |error|
|
||
if error.message =~ /unexpected recipients/
|
||
message.perform_deliveries = false
|
||
end
|
||
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
|