/recipient_interceptor

Intercept recipients when delivering email with the Mail gem.

Primary LanguageRubyMIT LicenseMIT

RecipientInterceptor

Build Status Code Quality

Never accidentally send emails to real people from your staging environment.

Rails example

Send all staging emails to a group email address without accidentally emailing users with active email addresses in the database.

In Gemfile:

gem 'recipient_interceptor'

In config/environments/staging.rb:

Mail.register_interceptor RecipientInterceptor.new(ENV['EMAIL_RECIPIENTS'])

From the command line:

heroku config:add EMAIL_RECIPIENTS="staging@example.com" --remote staging

Options

Optionally prefix the subject line:

Mail.register_interceptor RecipientInterceptor.new(
  ENV['EMAIL_RECIPIENTS'],
  subject_prefix: '[STAGING]'
)

Optionally intercept emails :

Mail.register_interceptor RecipientInterceptor.new(
  ENV['EMAIL_RECIPIENTS'],
  condition: lambda { |message| message.subject =~ /Error/ } # if the condition proc return true the email is intercepted
)

Credits

RecipientInterceptor is maintained by Dan Croak and contributors like you.

License

RecipientInterceptor is © 2013 Dan Croak. It is free software, and may be redistributed under the terms specified in the LICENSE file.