ROR发送电子邮件heroku,gmail

时间:2011-08-07 22:04:55

标签: ruby-on-rails heroku

我设法在本地计算机上配置ActionMailer以通过Gmail发送电子邮件。 (它需要在gemfile中使用tlsmail)

### config/environment.rb
require 'tlsmail'

Ideas::Application.configure do
  config.action_mailer.raise_delivery_errors = true
  config.action_mailer.delivery_method = :smtp
  config.action_mailer.smtp_settings = {
    :address        => 'smtp.gmail.com',
    :port           => '587',
    :domain         => 'xxxx@gmail.com',
    :user_name      => 'xxxx@gmail.com', 
    :password       => 'xxxxxxx',
    :authentication => :plain
  }
end

这适用于我的本地机器(电子邮件已发送),但通常hreoku有一些问题(Errno :: ECONNREFUSED(连接被拒绝 - 连接(2)))。我用谷歌搜索他们有一个特定的gmail解决方案:

http://blog.heroku.com/archives/2009/11/9/tech_sending_email_with_gmail/

他们说我需要一个额外的SMTP TLS库。如上所述,我添加了一个解决问题的gem,但仅限于我的本地机器。好吧,我尝试了他们的解决方案,它在heroku上工作了......但是停止了在我的本地工作。 (它没有给出错误,它只是说电子邮件已发送,但它永远不会。)

环境变量设置正确。

您是否有任何想法如何使这些方法中的至少一种在我的本地计算机和heroku上都能正常工作?

再见

1 个答案:

答案 0 :(得分:0)

您需要在正确的环境中进行设置。您需要在包含

的gemfile中执行此操作
group :development do
  gem '<development gem here>'

group :production do
  gem '<production gem here>'

不要忘记重新绑定。然后将与每个环境相关的配置移动到config / environments / production.rb或config / environments.development.rb