ruby-on-rails – Ruby on Rails:用户名/密码错误? (535 Auth
我刚刚在Bloc完成了我的ruby基础课程,我开始把头埋进轨道开发中.事情进展顺利,直到我用设计和确认电子邮件打到这个障碍.我试着谷歌搜索并环顾其他一些问题,但实际上找不到任何给我任何东西,我可以拉出来并适用于我的情况.
我在注册帐户时收到以下错误. Devise中的Net :: SMTPAuthenticationError :: RegistrationsController #create 535验证失败:用户名/密码错误 在#976行附近从源中提取错误 def check_auth_response(res) unless res.success? raise SMTPAuthenticationError,res.message end end 从其他帖子我知道你可能想看到我有一个config / initializers / setup_mail.rb文件,如下所示: if Rails.env.development? ActionMailer::Base.delivery_method = :smtp ActionMailer::Base.smtp_settings = { address: 'smtp.sendgrid.net',port: '587',authentication: :plain,user_name: ENV['SENDGRID_USERNAME'],password: ENV['SENDGRID_PASSWORD'],domain: 'heroku.com',enable_starttls_auto: true } end 这是一个application.yml文件示例: SENDGRID_PASSWORD: SENDGRID_USERNAME: SECRET_KEY_BASE: 在任何人建议之前,我的config / environments / development.rb中还有以下内容: config.action_mailer.default_url_options = { host: 'localhost:3000'} config.action_mailer.delivery_method = :smtp config.action_mailer.perform_deliveries = true # Override Action Mailer's 'silent errors' in development config.action_mailer.raise_delivery_errors = true 如果你想看到任何其他文件让我知道,我会将它们添加到这篇文章中. 解决方法
恭喜并欢迎黑客入侵世界.
您获得的错误意味着SendGrid服务器收到了错误的用户名密码组合. 有可能您的环境变量为空,并且您的application.rid文件未使用您的SendGrid用户名密码正确加载. 您可以通过在代码中的某个位置打印它们来确认这一点.在控制器工作. puts "SENDGRID_USERNAME: #{ENV['SENDGRID_USERNAME']}" puts "SENDGRID_PASSWORD: #{ENV['SENDGRID_PASSWORD']}" 我怀疑他们是零. 我建议阅读https://quickleft.com/blog/simple-rails-app-configuration-settings/关于如何将它们导入您的应用程序. 如果您需要更多帮助,请告诉我们! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |