当我尝试在我的Rails应用程序中设置用户混淆时,我收到以下错误。
Net::SMTPAuthenticationError in Devise::ConfirmationsController#create
535 Authentication failed: Bad username / password
我查看了终端,并设置了电子邮件和所有内容,但电子邮件未收到。 小号 不确定我需要发布哪些代码部分,但这里是我的config / environments / developer文件和setup_mail.file中的代码。
有什么想法吗?我不确定这里发生了什么。
development:
Rails.application.configure do
config.cache_classes = false
config.eager_load = false
config.consider_all_requests_local = true
config.action_controller.perform_caching = false
config.active_support.deprecation = :log
# Raise an error on page load if there are pending migrations.
config.active_record.migration_error = :page_load
config.assets.debug = true
config.assets.raise_runtime_errors = true
config.action_mailer.default_url_options = {host: 'localhost:3000'}
config.action_mailer.delivery_method = :smtp
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = true
end
setup_mail
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
答案 0 :(得分:0)
Heroku默认使用rails生产环境。您仅为开发环境定义了邮件程序设置。将配置移至config/environment.rb
或config/environments/production.rb
可以解决您的问题。
您可以参考https://sendgrid.com/docs/Integrate/Frameworks/rubyonrails.html#-Configure-ActionMailer-to-Use-SendGrid了解更多信息。