質問

私は安らかな認証プラグインを使用して、レールのアプリに取り組んできました。これは、電子メールの検証を通じて自分のアカウントをアクティブにするために、新しいユーザーを必要とします。これは、アプリケーションが突然電子メールの配信に失敗し始めたとき、数時間前まで取り組んできました。代わりに、私は次のエラーメッセージで迎えています:

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

私はactionmailerので新しいアプリケーションを作成し、古いリビジョンに戻ってきた、レールを再インストールし、すべてのプラグインや宝石を再インストールしたが、エラーが解消されません。誰かが前にこのエラーを見ていますか?それは私がUserMailerモデルにperform_delivery_SMTPメソッドを追加する必要がありますが、どのように、なぜ思えるのでしょうか?おかげます。

役に立ちましたか?

解決

どこがあなたのメーラーを設定しますか。

私はあなたの配信方法は、次のように設定されていることを推測しています。

ActionMailer::Base.delivery_method 'SMTP'

使用の:smtpの代わりに 'SMTP' の

actionmailerのは、あなたが:smtp:sendmailかを使用すると仮定し:test

それはとても

のようなdeliver!方法であることを使用しています
__send__("perform_delivery_#{delivery_method}", mail) if perform_deliveries

delivery_methodが「SMTP」に設定されている場合、それはあなたが見つけたとして存在しない、perform_delivery_SMTPを呼び出そうとすることを意味します。あなたはシンボルを使用する場合、それは存在しない:smtpを呼び出しperform_delivery_smtpます。

他のヒント

actionmailerのは、次のリンクを考慮する必要があり、生産モードで作業してローカルサーバ(開発モード)で正常に動作していないと戦ってきた人たちます:

http://filiptepper.com/ 2009/02/11 /ヒント固定-smtp_tlsrb-FOR-ルビ-187 /

それは私の問題を解決し、あまりにも他の人のために役に立つかもしれません。基本的な問題は、「ネットでcheck_auth_args :: SMTPが(私は開発のために使用しています)のRuby 1.8.7に異なる引数を取るとRuby 1.8.6(ステージング)に」ということです。そして、最悪の事態は、それがproduction.logファイルにエラーを残さないということです。それは本当に私はそれが間違った数の引数のエラーが発生した場所をスクリプト/コンソールから電子メールを送信するactionmailerのを実行しなければならなかった問題だったかどうかを確認するには...

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top