ActionMailer отправляет реальные письма в тестовом режиме! - как выключить?

Недавно зарегистрированные пользователи моего маленького приложения должны быть одобрены администратором (мной), прежде чем они смогут получить доступ к сайту. Мне удалось создать такие письма при разработке сafter_create :send_admin_email в моей пользовательской модели, которая прекрасно работает. Моя проблема в том, что я генерирую несколько пользователей во время своих тестов (используя FactoryGirl), и каждый созданный тестовый пользователь отправляет реальное электронное письмо. Проведение моих тестов похоже на наливание патоки в январе, и я должен удалить сотни писем, отправленных на мой почтовый ящик. Как мне это отключить?

Основы Action Mailer вНаправляющие рельсы говорит мне, что & quot; По умолчанию Action Mailer не отправляет электронные письма в тестовой среде. Они просто добавляются в массив ActionMailer :: Base.deliveries. & Quot;

Кроме того, вconfig/environments/test.rb Я получил:

config.action_mailer.delivery_method = :test

Это в дополнение кconfig/environment.rb имеющий:

# Configuration for using SendGrid on Heroku
ActionMailer::Base.smtp_settings = {
  :address        => 'smtp.sendgrid.net',
  :port           => '587',
  :authentication => :plain,
  :user_name      => 'app[my app number]@heroku.com',
  :password       => '[something super secret]',
  :domain         => '[let's get this party started!.com]',
  :enable_starttls_auto => true
}
ActionMailer::Base.delivery_method = :smtp

Я уверен, что мне не хватает чего-то простого и простого. Я искал вокруг, и связанные вопросы и сообщения касаются того, как проверить, что ActionMailer фактически отправил электронное письмо.

Смиренная благодарность заранее за любые мысли или помощь.

Приложение: следующий ответ на аналогичный вопрос найден наМожно ли отключить электронную почту ActionMailer, когда тестирование огурца происходит в процессе разработки? Я был в состоянии остановить безумие отправки электронной почты. Тем не менее, я должен был добавитьActionMailer::Base.delivery_method = :test на несколько файлов rspec. Есть ли способ, которым я могу закрыть это глобально? У кого-нибудь есть мысли о том, что происходит?

Ответы на вопрос(3)

Ваш ответ на вопрос