Net :: SMTPAuthenticationError(535 5.7.3使用Action Mailer和office 365电子邮件发送电子邮件时验证失败

时间:2017-08-18 03:12:17

标签: ruby-on-rails email office365 actionmailer digital-ocean

我在我的production.rb和development.rb上有这个代码。

  config.active_record.dump_schema_after_migration = false
  config.action_mailer.perform_deliveries = true
  config.action_mailer.default_url_options = { host: 'mydomain.com' }
  config.action_mailer.delivery_method = :smtp
  config.action_mailer.smtp_settings = {
  address:       'smtp.office365.com',
  port:            '587',
  authentication: 'login',
  domain:        'mydomain.com',
  user_name:   "username@mydomain.com",
  password:      "password",
  enable_starttls_auto: true,
  openssl_verify_mode: 'none'
 }

我正在尝试使用动作邮件程序从我的办公室365邮件帐户发送邮件。这样就可以在localhost上完美地发送邮件。但它在生产过程中引发了以下错误。我正在使用digitalocean服务器。

  

App 7718 stdout:[7bd99d32-f3c4-49c3-abfd-ff19fa7ddb8a]在8800ms内完成500内部服务器错误(ActiveRecord:1.6ms)   App 7718标准输出:[7bd99d32-f3c4-49c3-abfd-ff19fa7ddb8a]
  App 7718标准输出:[7bd99d32-f3c4-49c3-abfd-ff19fa7ddb8a] Net :: SMTPAuthenticationError(535 5.7.3认证失败[CO2PR04CA0117.namprd04.prod.outlook.com]

我已经在谷歌的各个地方进行了搜索,但大多数都有gmail解决方案而不是办公室。所以,我找不到确切的问题。

1 个答案:

答案 0 :(得分:0)

ActionMailer::Base.smtp_settings = {
  address: ENV['SMTP_ADDRESS'],
  port: ENV['SMTP_PORT'],
  domain: ENV['SMTP_DOMAIN'],
  authentication: 'login',
  enable_starttls_auto: true,
  user_name: ENV['SMTP_USERNAME'],
  password: ENV['SMTP_PASSWORD']
}

我已经拥有使用上述设置的Office 365帐户。

  

另一件让我感到困惑的是你需要从你用来登录的实际帐户发送。例如,请勿从noreply@brownwebdesign.com发送电子邮件,并使用support@brownwebdesign.com作为您的SMTP_USERNAME。

此处有更多信息:https://www.brownwebdesign.com/blog/connecting-rails-to-microsoft-exchange-smtp-email-server