我正在使用Rails 4应用程序中的actionmailer创建简单的表单到电子邮件表单。
当我在development.rb文件中使用以下设置时,一切正常:
config.action_mailer.default :charset => "utf-8"
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = true
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
address: "mail.hover.com",
port: 587,
domain: "blah.com",
user_name: "dennis@blah.com",
password: "thisBeMyPassword",
authentication: 'plain',
enable_starttls_auto: true,
openssl_verify_mode: 'none'
}
但是当我尝试在我的代码中使用ENV变量时,我得到一个身份验证失败错误:
config.action_mailer.default :charset => "utf-8"
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = true
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
address: "mail.hover.com",
port: 587,
domain: "blah.com",
user_name: "dennis@blah.com",
password: ENV["MY_EMAIL_PASSWORD"],
authentication: 'plain',
enable_starttls_auto: true,
openssl_verify_mode: 'none'
}
当我在控制台中使用printenv
并且在代码中粘贴puts ENV["MY_EMAIL_PASSWORD"]
时,我可以在终端中看到此变量。
我已经三次检查拼写,大写等等。