gem Active Admin を使用して、サインアップしたユーザーにメールを送信し、パスワードを作成できるようにしようとしています。
これには、config/environments/development.rb に次のコードを挿入するプロセスが必要です。
#Added per active admin install instructions
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
#These settings are for the sending out email for active admin and consequently the devise mailer
ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.perform_deliveries = true
ActionMailer::Base.raise_delivery_errors = true
ActionMailer::Base.smtp_settings =
{
:address => 'smtp.gmail.com',
:port => 587,
:domain => 'gmail.com', #you can also use google.com
:authentication => :plain,
:user_name => 'XXX@gmail.com',
:password => 'XXXX'
}
これは問題なく動作します
Heroku 上の本番サイトへのデプロイ用。次のコードを config/environments/production.rb に挿入しました
#Added per active admin install instructions
config.action_mailer.default_url_options = { :host => 'http://XXXX.herokuapp.com/' }
#These settings are for the sending out email for active admin and consequently the devise mailer
ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.perform_deliveries = true
ActionMailer::Base.raise_delivery_errors = true
ActionMailer::Base.smtp_settings =
{
:address => 'smtp.gmail.com',
:port => 587,
:domain => 'gmail.com', #you can also use google.com
:authentication => :plain,
:user_name => 'XXX@gmail.com',
:password => 'XXX'
}
しかし、今ではメールは送信されません。代わりに、ブラウザに「申し訳ありませんが問題が発生しました」というメッセージが表示され、ログには次の行が表示されます
2012-08-17T17:39:34+00:00 app[web.1]: cache: [GET /admin/admin_users/new] miss
2012-08-17T17:39:34+00:00 app[web.1]: Started POST "/admin/admin_users" for 96.49.201.234 at 2012-08-17 17:39:34 +0000
2012-08-17T17:39:35+00:00 app[web.1]: Net::SMTPAuthenticationError (535-5.7.1 Please log in with your web browser and then try again. Learn more at
2012-08-17T17:39:35+00:00 app[web.1]: ):
2012-08-17T17:39:35+00:00 app[web.1]: app/models/admin_user.rb:35:in `block in <class:AdminUser>'
2012-08-17T17:39:35+00:00 app[web.1]: cache: [POST /admin/admin_users] invalidate, pass
ここからどこへ行けばいいですか?誰か手を貸してくれませんか