我正在尝试向我的应用程序添加电子邮件功能(忘记密码、通知等),并且我正在使用 EngineYard 进行托管。我已经在我的测试环境中成功配置了电子邮件,但是在上传到 EY 后,它似乎在生产中出错了。我不为他们的支持付费,唯一的资源有点模糊(或超出我的范围)。
我很想知道在 EY 上使用电子邮件时是否需要添加任何特定的文件、服务器设置等。我正在使用谷歌应用程序,所以我认为这就像在生产中添加相同的代码块一样简单,但似乎并非如此。
我正在尝试向我的应用程序添加电子邮件功能(忘记密码、通知等),并且我正在使用 EngineYard 进行托管。我已经在我的测试环境中成功配置了电子邮件,但是在上传到 EY 后,它似乎在生产中出错了。我不为他们的支持付费,唯一的资源有点模糊(或超出我的范围)。
我很想知道在 EY 上使用电子邮件时是否需要添加任何特定的文件、服务器设置等。我正在使用谷歌应用程序,所以我认为这就像在生产中添加相同的代码块一样简单,但似乎并非如此。
这是我在 .../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!'
}
请注意,出于安全考虑,我实际上将密码保存在一个单独的文件中,并有代码将其修补到启动时的设置中,但我认为这会分散响应的注意力。
希望有帮助。