ActionMailer verschickt echte E-Mails im Testmodus! - Wie ausschalten?

Neu angemeldete Benutzer meiner kleinen App müssen vom Administrator (mir) genehmigt werden, bevor sie auf die Site zugreifen können. Es ist mir gelungen, solche E-Mails in der Entwicklung mit einem zu generierenafter_create :send_admin_email in meinem benutzermodell funktioniert das prima. Mein Problem ist, dass ich während meiner Tests (mit FactoryGirl) mehrere Benutzer generiere und jeder erstellte Testbenutzer eine echte E-Mail versendet. Das Ausführen meiner Tests ist wie das Eingießen von Melasse im Januar, und ich muss Hunderte von E-Mails löschen, die an meinen Posteingang gesendet wurden. Wie schalte ich das aus?

Action Mailer-Grundlagen in demSchienenführungen sagt mir: "Standardmäßig sendet Action Mailer keine E-Mails in der Testumgebung. Sie werden nur dem Array ActionMailer :: Base.deliveries hinzugefügt."

Darüber hinaus inconfig/environments/test.rb Ich habe:

config.action_mailer.delivery_method = :test

Das ist zusätzlich zu inconfig/environment.rb haben:

# 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

Ich bin mir sicher, dass mir etwas Einfaches und Grundlegendes fehlt. Ich habe mich umgesehen und in verwandten Fragen und Beiträgen erfahren Sie, wie Sie testen können, ob ActionMailer tatsächlich E-Mails gesendet hat.

Demütige Dankbarkeit im Voraus für irgendwelche Gedanken oder Hilfe.

Nachtrag: Folgende Antwort auf ähnliche Frage gefunden beiIst es möglich, ActionMailer-E-Mails zu deaktivieren, wenn gerade Gurkentests durchgeführt werden? Ich konnte den E-Mail-Wahnsinn stoppen. Trotzdem musste ich hinzufügenActionMailer::Base.delivery_method = :test auf mehrere Rspec-Dateien. Gibt es eine Möglichkeit, dies global zu beenden? Hat jemand irgendwelche Gedanken darüber, was los ist?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage