Devise中的ArgumentError :: RegistrationsController#创建SMTP-AUTH请求但缺少用户名

时间:2015-03-18 15:21:59

标签: ruby-on-rails devise localhost actionmailer

我从localhost发送电子邮件时遇到问题。 它正在使用Linux,现在我试图在Mac上运行我的应用程序而且它已经无法正常工作。

我有一个错误:

ArgumentError in Devise::RegistrationsController#create
SMTP-AUTH requested but missing user name

在config / environments / development.rb中:

#Action Mailer config
config.action_mailer.raise_delivery_errors = true
config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }
config.action_mailer.delivery_method = :smtp
# Send email in development mode.
config.action_mailer.perform_deliveries = true

config.action_mailer.smtp_settings = {
address: "smtp.gmail.com",
port: "587",
domain: "mail.google.com",
authentication: "plain",
enable_starttls_auto: true,
user_name: ENV["GMAIL_USER_ID"],
password: ENV["GMAIL_PASSWORD"]
}

我的env变量很好,我尝试将我的凭据放入代码中,但它仍然无法工作:/

我检查了类似的主题,但没有找到解决方案。

我可以尝试什么?

2 个答案:

答案 0 :(得分:1)

我看了:

  

我尝试将我的凭据放入代码中,但仍然无效:/

但是你尝试用你的gmail id /密码替换你的var env吗?

#Action Mailer config
**********
user_name: "my_username",
password: "my_password"
}

只是为了确定。

答案 1 :(得分:0)

好的,解决了。

  1. 凭据不起作用,因为我没有重新启动我的服务器(愚蠢的懒惰)
  2. 我的env vars没有用,因为我把它们放到了〜.profile中,但它在〜.bash_profile中工作,that was helpful(我使用的是OS X Yosemite)。