Ich habe in einer RoR-Anwendung einen Exchange-kompatiblen Mailserver eingerichtet. Ich habe das folgende Setup in development.rb
verwendet:
Diese Konfiguration funktioniert nicht, ich bekomme Net::SMTPAuthenticationError: 504 Unrecognized authentication type.
Wenn ich jedoch die exakt gleiche Konfiguration in environment.rb
anwende, funktioniert es perfekt:
Warum ist das? Sollte nicht config.action_mailer.smtp_settings
die gleichen Einstellungen vornehmen? Ist das ein Fehler? Hat es einen Grund?
Ich habe es mit Gmail versucht, hier und es funktioniert , also hat smtp_settings Auswirkungen auf den Mailer, aber es scheint mir, als ob nicht alle Optionen zählen / funktionieren.
config.action_mailer.smtp_settings
leitet die Einstellungen an ActionMailer::Base.smtp_settings
weiter.
Der Hauptunterschied besteht jedoch darin, dass ersteres eine umweltspezifische Einstellung ist, während das zweite eine globale Einstellung ist.
Mit anderen Worten, Sie sollten sicherstellen, dass config.action_mailer.smtp_settings
in der entsprechenden Umgebungsdatei gesetzt ist, um die Einstellungen zu übernehmen. Wenn Sie beispielsweise die Einstellungen in der Produktion verwenden möchten, fügen Sie die Zuordnung in der Datei config/environments/production.rb
hinzu. Wenn Sie die Einstellungen auf das gesamte Projekt anwenden möchten, legen Sie sie in config/application.rb
fest.
Ich hatte ein ähnliches Problem, die config.action_mailer.smtp_settings funktionierte nicht, aber jede Konfiguration war korrekt.
Schließlich habe ich herausgefunden, dass eine Rails-Erweiterung die ActionMailer :: Base-Einstellungen in der Initialisierungsphase überschreibt ... Untersuchen Sie also Ihren gesamten Code und alle 3rd-Party-Codes (!), Erweiterungen, Module usw., da sollte das Problem bestehen!
Tags und Links ruby-on-rails actionmailer