尝试发送密码重置令牌时设计错误

时间:2017-10-23 12:32:18

标签: ruby-on-rails devise

Rails 5.1
Devise 4.3.0

我的环境设置:

  config.action_mailer.default_url_options = { :host => Rails.application.secrets.domain_name }
  config.action_mailer.delivery_method = :smtp
  config.action_mailer.perform_deliveries = true
  config.action_mailer.raise_delivery_errors = true
  config.action_mailer.default :charset => "utf-8"

  config.action_mailer.smtp_settings = {
      address: Rails.application.secrets.email_provider_smtp_server,
      port: Rails.application.secrets.email_provider_smtp_port,
      authentication: :plain,
      enable_starttls_auto: true,
      user_name: Rails.application.secrets.email_provider_username,
      password: Rails.application.secrets.email_provider_password
  }

当我尝试使用密码重置表单重置密码时,出现以下错误:

Completed 500 Internal Server Error in 738ms (ActiveRecord: 566.0ms)
Net::SMTPAuthenticationError (534-5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbvv

我查看了我正在使用的Google Apps凭据,并且工作正常(通过从浏览器登录我的Gmail帐户)。日志显示我正确生成了电子邮件文本(to,from等),然后是错误。

我也做了以下事情:

http://www.google.com/accounts/DisplayUnlockCaptcha

我在Linux Ubuntu服务器上。我可能在服务器端缺少任何设置吗?

解决方案:

问题在于,当我放松了应用程序登录规则时,我没有登录到正确的帐户。

1 个答案:

答案 0 :(得分:2)

您可能需要告诉Google authorize less secure apps。您可以查看最新的说明here