1

我正在尝试向我的应用程序添加电子邮件功能(忘记密码、通知等),并且我正在使用 EngineYard 进行托管。我已经在我的测试环境中成功配置了电子邮件,但是在上传到 EY 后,它似乎在生产中出错了。我不为他们的支持付费,唯一的资源有点模糊(或超出我的范围)。

我很想知道在 EY 上使用电子邮件时是否需要添加任何特定的文件、服务器设置等。我正在使用谷歌应用程序,所以我认为这就像在生产中添加相同的代码块一样简单,但似乎并非如此。

4

1 回答 1

2

这是我在 .../config/environments/production.rb 中的 Google 应用配置:

require 'tlsmail' 
Net::SMTP.enable_tls(OpenSSL::SSL::VERIFY_NONE)

ActionMailer::Base.raise_delivery_errors = true
ActionMailer::Base.perform_deliveries = true
ActionMailer::Base.delivery_method = :smtp

ActionMailer::Base.smtp_settings = {
  :address => 'smtp.gmail.com',
  :port => 587,
  :tls => true,
  :domain => 'example.com',
  :authentication => :plain,
  :user_name => "sender@example.com",
  :password => 'tr1ckypwd!'
}

请注意,出于安全考虑,我实际上将密码保存在一个单独的文件中,并有代码将其修补到启动时的设置中,但我认为这会分散响应的注意力。

希望有帮助。

于 2010-06-02T21:58:39.750 回答