由于activeadmin邮件程序,heroku上的迁移失败

时间:2012-02-17 14:55:28

标签: ruby-on-rails-3 heroku activeadmin

我正在将应用程序部署到heroku,应用程序在rails 3.2上,我安装了活动的admin gem。

当我运行rake db:migrate时,由于以下错误而失败

    ==  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)

想知道我需要做些什么来解决这个问题。似乎Devise gem或ActiveAdmin需要在迁移过程中发送邮件,因为如果失败则不能发送邮件。

2 个答案:

答案 0 :(得分:4)

尝试安装Sendgrid插件:

heroku addons:add sendgrid:starter

如果要部署到Aspen或Bamboo stacks,它应该可以立即使用。如果您正在使用Cedar堆栈,则需要添加其他初始化程序:

#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

取自:http://devcenter.heroku.com/articles/sendgrid

答案 1 :(得分:0)

这让我有些困惑:

Connection refused - connect(2)

你有邮件设置吗?您使用的是SendGrid还是类似的?请记住,Heroku不直接提供电子邮件服务。

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