我在使用Rails 4的action mailer通过gmail发送电子邮件时遇到了问题。这本应该很简单...但它并没有起作用。具体来说,我收到了以下错误信息:
ArgumentError (SMTP-AUTH requested but missing secret phrase):
我已经阅读了关于这种情况的其他问题,但大多数都有简单的解决方案(例如使用"user_name"而不是"username",或者环境变量设置错误)。我已经仔细检查过了,确定我的凭据是正确的。以下是我development.rb文件的相关部分:
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
address: 'smtp.gmail.com',
port: 587,
domain: 'mydomain.com',
user_name: ENV["GMAIL_USERNAME"],
password: ENV["GMAIL_PXXWRD"],
authentication: 'plain',
enable_starttls_auto: true
}
我最初是将凭证以明文形式保存的,但我认为将它们移至环境变量中可能可以解决问题。但这并没有改变任何事情。需要注意的是,我的 Gmail 是公司的 Gmail,因此实际上并不以 "@gmail.com" 结尾。我不确定是否会有所改变,但我想提一下。我也尝试过使用标准的 Gmail 地址,但没有改变任何东西。
另外,“missing secret phrase” 是指密码错误吗?还是根本找不到密码?还有什么其他可能导致这个错误?谢谢大家的时间。