Frage

Ich habe auf einer Rails-Anwendung arbeitet, die die ruhige Authentifizierungs-Plugin verwendet. Es erfordert einen neuen Benutzer ihr Konto per E-Mail Überprüfung zu aktivieren. Dies wurde bis vor ein paar Stunden vor der Aufarbeitung, wenn die Anwendung auf einmal zum Scheitern verurteilt auf E-Mail-Auslieferung hat begonnen. Stattdessen bin ich mit der folgenden Fehlermeldung empfangen:

 undefined method `perform_delivery_SMTP' for #<UserMailer:0x28ec7ac>

ich auf eine alte Version zurückgesetzt haben, erstellt neue Anwendungen mit Action, neu installiert Schienen, neu installiert alle Plugins und Edelsteine, aber der Fehler bestehen bleibt. Hat jemand schon einmal vor diesem Fehler gesehen? Es scheint, ich brauche die perform_delivery_SMTP Methode zum UserMailer Modell hinzufügen, aber wie und warum? Danke.

War es hilfreich?

Lösung

Wo konfigurieren Sie Ihr Mailer?

Ich vermute, dass Ihre Lieferung Methode wie folgt festgelegt ist

ActionMailer::Base.delivery_method 'SMTP'

Mit :smtp anstelle von 'SMTP'

Action geht davon werden Sie :smtp, :sendmail oder :test

verwenden

Es verwendet, dass im deliver! Verfahren wie so

__send__("perform_delivery_#{delivery_method}", mail) if perform_deliveries

Das bedeutet, dass, wenn delivery_method auf ‚SMTP‘ gesetzt wird, wird es versuchen perform_delivery_SMTP zu nennen, die es nicht gibt, wie Sie herausgefunden haben. Wenn Sie das Symbol :smtp es nennt perform_delivery_smtp, die vorhanden ist.

Andere Tipps

Diejenigen, die gekämpft haben, um mit Action adaequat auf lokale Server (Entwicklungsmodus) und nicht im Produktionsmodus arbeiten sollte folgenden Link betrachten:

http://filiptepper.com/ 2009/02/11 / Hinweis Festsetzungs-smtp_tlsrb-for-Rubin-187 /

Es ist mein Problem gelöst, könnte auch für andere hilfreich sein. Grundsätzlich ist das Problem ist, dass „check_auth_args in Net :: SMTP unterschiedliche Argumente in Ruby 1.8.7 nimmt (was ich bin für die Entwicklung verwendet wird) und in Ruby 1.8.6 (Inszenierung)“. Und das Schlimmste ist, dass es nicht einen Fehler in der production.log Datei nicht verlassen. Um sicherzustellen, dass es wirklich das Problem war ich Action laufen musste E-Mail von Skript / Konsole zu senden, wo sie den Fehler falscher Anzahl an Argumenten angehoben ...

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top