From d78e80fa74777e886ca131614f3b4d3f06bf9fff Mon Sep 17 00:00:00 2001 From: Marin Jankovski <maxlazio@gmail.com> Date: Mon, 27 Oct 2014 13:05:50 +0100 Subject: [PATCH] Add email interceptor to prevent mail sending if email sending is disabled. --- config/initializers/disable_email_interceptor.rb | 2 ++ lib/disable_email_interceptor.rb | 8 ++++++++ 2 files changed, 10 insertions(+) create mode 100644 config/initializers/disable_email_interceptor.rb create mode 100644 lib/disable_email_interceptor.rb diff --git a/config/initializers/disable_email_interceptor.rb b/config/initializers/disable_email_interceptor.rb new file mode 100644 index 00000000000..c76a6b8b19f --- /dev/null +++ b/config/initializers/disable_email_interceptor.rb @@ -0,0 +1,2 @@ +# Interceptor in lib/disable_email_interceptor.rb +ActionMailer::Base.register_interceptor(DisableEmailInterceptor) unless Gitlab.config.gitlab.email_enabled diff --git a/lib/disable_email_interceptor.rb b/lib/disable_email_interceptor.rb new file mode 100644 index 00000000000..1b80be112a4 --- /dev/null +++ b/lib/disable_email_interceptor.rb @@ -0,0 +1,8 @@ +# Read about interceptors in http://guides.rubyonrails.org/action_mailer_basics.html#intercepting-emails +class DisableEmailInterceptor + + def self.delivering_email(message) + message.perform_deliveries = false + Rails.logger.info "Emails disabled! Interceptor prevented sending mail #{message.subject}" + end +end -- GitLab