Envio em ambiente de teste

No ambiente de teste, não se inunda a caixa de entrada do usuário com e-mails de teste inúteis. Uma boa opção é redirecionar todos os emails enviados durante o teste para um endereço de email específico.

Com base nessas duas abordagens: DHH e Thoughtbot . E usando o gem receiver_interceptor .

Primeiro adicione recipient_interceptorao Gemfile .

Exemplo de um arquivo de configuração de produção :

Appname::Application.configure do

config
.action_mailer.default_url_options={host:'www.mypharmacash.com'}
config
.action_mailer.delivery_method = :smtp
config
.action_mailer.raise_delivery_errors = true
config
.action_mailer.smtp_settings = {
:address => "smtp.mandrillapp.com",
:port => 25, # ports 587 and 2525 are also supported with STARTTLS
:enable_starttls_auto => true, # detects and uses STARTTLS
:user_name => ENV['MANDRILL_USERNAME'],
:password => ENV['MANDRILL_PASSWORD'], # SMTP password is any valid API key
:authentication => 'login', # Mandrill supports 'plain' or 'login'
:domain => 'www.domainname.com', # your domain to identify your server when connecting
}

end

E este seria o arquivo de configuração de teste :

# Based on production defaults
require
Rails.root.join("config/environments/production")

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