【发布时间】:2012-10-26 03:46:16
【问题描述】:
我在使用 Figaro gem 设置的外部文件 (config/application.yml) 中设置了 Sendgrid 密码。这在我的本地机器上工作正常,但在我的服务器上我收到一个错误,没有设置密码:
ArgumentError (SMTP-AUTH requested but missing secret phrase)
当我将 Sendgrid 配置更改为纯文本密码时,它工作正常,所以我假设 Rails 无法识别环境变量。奇怪的是,当我进入rails console production 并执行puts ENV["SENDGRID_PASSWORD"] 时,它工作正常。
有什么想法吗?
这是我的 Sendgrid 配置:
config.action_mailer.smtp_settings = {
:address => "smtp.sendgrid.net",
:port => 587,
:user_name => "chrislawrence",
:password => ENV['SENDGRID_PASSWORD'],
:domain => "lakecinema.net.au",
:authentication => :plain,
:enable_starttls_auto => true
}
【问题讨论】:
-
我使用 ENV 变量获得了相同的行为,该变量设置在初始化程序中,在主题(在邮件程序文件中)或正文中(在邮件程序的视图中)。它忽略了我设置的 ENV 变量,即使在缓存清除所有内容、重新启动服务器等之后。不过,控制台中的值是正确的。不使用 Figaro,因此不限于此。
标签: ruby-on-rails