Rails:在生产中通过Gmail发送电子邮件

时间:2012-04-24 01:09:57

标签: ruby-on-rails smtp gmail host

我想通过PRODUCTION中的gmail帐户发送电子邮件。它在当地主机上运行良好。

在我的环境中.rb我有:

config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
 :address             => "smtp.gmail.com",
 :port                => 587,
 :domain              => "myhost.com",
 :authentication      => "plain",
 :user_name           => "name@myhost.com",
 :password            => "mypassword",
 :enable_starttls_auto => true

}

在我的production.rb文件中:

config.action_mailer.raise_delivery_errors = true
config.action_mailer.default_url_options = { :host => 'gmail.com' }

但它没有用,我有这个错误:

Errno::ECONNREFUSED (Connection refused - connect(2)):

有什么想法吗?我的应用程序部署在Heroku上。 对于host我需要放什么?

谢谢!

1 个答案:

答案 0 :(得分:2)

主持人应为www.yourapp.com。我在Heroku上设置gmail的设置如下所示,它们可以工作:

config.action_mailer.default_url_options = { :host => 'www.myapp.com' }
config.action_mailer.raise_delivery_errors = true
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
    :enable_starttls_auto => true,
    :address => "smtp.gmail.com",
    :port => 587,
    :domain => "gmail.com",
    :authentication => :login,
    :user_name => "user@myapp.com",
    :password => "mypassword"
}