chore(smtp): add mailcatcher configuration

This commit is contained in:
Jon 2022-01-25 15:14:58 +01:00 committed by Pierre de La Morinerie
parent cf1f92409c
commit 31996c7d09
3 changed files with 22 additions and 2 deletions

View file

@ -90,11 +90,17 @@ SENDINBLUE_BALANCING="disabled"
SENDINBLUE_BALANCING_VALUE="50"
# Alternate SMTP Provider: Mailtrap (mail catcher for staging environments)
# When enabled, all emails will be sent using this provided
# When enabled, all emails will be sent using this provider
MAILTRAP_ENABLED="disabled"
MAILTRAP_USERNAME=""
MAILTRAP_PASSWORD=""
# Alternative SMTP Provider: Mailcatcher (Catches mail and serves it through a dream.)
# When enabled, all emails will be sent using this provider
MAILCATCHER_ENABLED="disabled"
MAILCATCHER_HOST=""
MAILCATCHER_PORT=""
# External service: live chat for admins (specific to démarches-simplifiées.fr)
CRISP_ENABLED="disabled"
CRISP_CLIENT_KEY=""

View file

@ -89,7 +89,8 @@ Rails.application.configure do
elsif ENV['SENDINBLUE_ENABLED'] == 'enabled'
config.action_mailer.delivery_method = :sendinblue
elsif ENV['MAILCATCHER_ENABLED'] == 'enabled'
config.action_mailer.delivery_method = :mailcatcher
else
config.action_mailer.delivery_method = :mailjet
end

View file

@ -0,0 +1,13 @@
if ENV.fetch('MAILCATCHER_ENABLED') == 'enabled'
ActiveSupport.on_load(:action_mailer) do
module Mailcatcher
class SMTP < ::Mail::SMTP; end
end
ActionMailer::Base.add_delivery_method :mailcatcher, Mailcatcher::SMTP
ActionMailer::Base.mailcatcher_settings = {
address: ENV.fetch("MAILCATCHER_HOST"),
port: ENV.fetch("MAILCATCHER_PORT")
}
end
end