سؤال

I am deploying an app to heroku and the app is on rails 3.2 and I have active admin gem installed.

When I run rake db:migrate it fails due to the following error

    ==  DeviseCreateAdminUsers: migrating =========================================
-- create_table(:admin_users)
   -> 0.0823s

Sent mail to admin@example.com (3228ms)
rake aborted!
An error has occurred, this and all later migrations canceled:

Connection refused - connect(2)

Wondering what I need to do to fix this. It seems that the Devise gem or ActiveAdmin needs to send mail during the migration process and because it can't if fails.

هل كانت مفيدة؟

المحلول

Try installing the Sendgrid addon:

heroku addons:add sendgrid:starter

If you are deploying to the Aspen or Bamboo stacks, it should work right away. If you are using the Cedar stack, you need to add an additional initializer:

#config/initializers/mail.rb

ActionMailer::Base.smtp_settings = {
  :address        => 'smtp.sendgrid.net',
  :port           => '587',
  :authentication => :plain,
  :user_name      => ENV['SENDGRID_USERNAME'],
  :password       => ENV['SENDGRID_PASSWORD'],
  :domain         => 'heroku.com'
}
ActionMailer::Base.delivery_method = :smtp

Taken from: http://devcenter.heroku.com/articles/sendgrid

نصائح أخرى

This is confusing me a little:

Connection refused - connect(2)

Do you have your mail setup? Are you using SendGrid or similar? Remember that Heroku don't provide email services directly.

http://devcenter.heroku.com/articles/smtp

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top