31 lines
1.1 KiB
Ruby
31 lines
1.1 KiB
Ruby
class ApplicationMailer < ActionMailer::Base
|
||
helper :application # gives access to all helpers defined within `application_helper`.
|
||
default from: "#{APPLICATION_NAME} <#{CONTACT_EMAIL}>"
|
||
layout 'mailer'
|
||
|
||
# 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 /unexpected recipients/.match?(error.message)
|
||
message.perform_deliveries = false
|
||
end
|
||
end
|
||
|
||
# Attach the procedure logo to the email (if any).
|
||
# Returns the attachment url.
|
||
def attach_logo(procedure)
|
||
if procedure.logo.attached?
|
||
logo_filename = procedure.logo.filename.to_s
|
||
attachments.inline[logo_filename] = procedure.logo.download
|
||
attachments[logo_filename].url
|
||
end
|
||
|
||
rescue StandardError => e
|
||
# A problem occured when reading logo, maybe the logo is missing and we should clean the procedure to remove logo reference ?
|
||
Sentry.capture_exception(e, extra: { procedure_id: procedure.id })
|
||
nil
|
||
end
|
||
end
|