Ruby on rails Heroku原版Rails 5应用程序';t使用gmal发送电子邮件设置

Ruby on rails Heroku原版Rails 5应用程序';t使用gmal发送电子邮件设置,ruby-on-rails,ruby,heroku,smtp,ruby-on-rails-5,Ruby On Rails,Ruby,Heroku,Smtp,Ruby On Rails 5,我被卡住了,无法在网上找到任何帮助: 我正在尝试发送关于用户注册的电子邮件,我的配置与正在开发的配置相同,但我无法找到在heroku中工作的方法 config.action_mailer.default_url_options = { host: 'www.hiddendomain.com' } config.action_mailer.raise_delivery_errors = true config.action_mailer.delivery_method = :smtp

我被卡住了,无法在网上找到任何帮助:

我正在尝试发送关于用户注册的电子邮件,我的配置与正在开发的配置相同,但我无法找到在heroku中工作的方法

config.action_mailer.default_url_options = { host: 'www.hiddendomain.com' }
  config.action_mailer.raise_delivery_errors = true
  config.action_mailer.delivery_method = :smtp

  config.action_mailer.smtp_settings = {
    :address => "smtp.gmail.com",
    :port => 587,
    :authentication => :plain,
    :domain => ENV['GMAIL_SMTP_USERNAME'],
    :user_name => ENV['GMAIL_SMTP_USERNAME'],
    :password => ENV['GMAIL_SMTP_PASSWORD'],
  }

  config.action_mailer.perform_deliveries = true
错误:

2017-07-27T07:41:45.175561+00:00 app[web.1]: I, [2017-07-27T07:41:45.175497 #4]  INFO -- : [a6ec5129-53a4-420a-b319-9cc6d61cff16] Completed 500 Internal Server Error in 544ms (ActiveRecord: 9.0ms)

2017-07-27T07:41:45.175719+00:00 app[web.1]: F, [2017-07-27T07:41:45.175664 #4] FATAL -- : [a6ec5129-53a4-420a-b319-9cc6d61cff16]

2017-07-27T07:41:45.175791+00:00 app[web.1]: F, [2017-07-27T07:41:45.175729 #4] FATAL -- : [a6ec5129-53a4-420a-b319-9cc6d61cff16] EOFError (end of file reached):

2017-07-27T07:41:45.175853+00:00 app[web.1]: F, [2017-07-27T07:41:45.175794 #4] FATAL -- : [a6ec5129-53a4-420a-b319-9cc6d61cff16]

2017-07-27T07:41:45.175923+00:00 app[web.1]: F, [2017-07-27T07:41:45.175866 #4] FATAL -- : [a6ec5129-53a4-420a-b319-9cc6d61cff16]
与开发环境的唯一区别是主机行:

config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }

问题可能是gmail在通过第三方应用程序发送电子邮件方面有严格的选择。您需要为您的gmail帐户启用此选项


确保在“访问不太安全的应用程序”下选择了“启用”。

问题可能是gmail在通过第三方应用程序发送电子邮件时有严格的选项。您需要为您的gmail帐户启用此选项


确保在“访问不太安全的应用”下选择了“启用”。

某些应用和设备使用不太安全的登录技术,打开“允许不太安全的应用”。
请转到我在gmail中的帐户:并打开允许不太安全的应用程序过滤器

一些应用程序和设备使用不太安全的登录技术,打开允许不太安全的应用程序。 请转到我在gmail中的帐户:并在您的配置行中打开允许不太安全的应用程序过滤器

:domain => ENV['GMAIL_SMTP_USERNAME']
这是错误的,因为在username字段中有一些env变量。域名应该是“gmail.com”,因为您使用的是来自gmail.com的gmails邮件服务:

config.action_mailer.smtp_settings = {
  :address => "smtp.gmail.com",
  :port => 587,
  :authentication => :plain,
  :domain => "gmail.com",
  :user_name => ENV['GMAIL_SMTP_USERNAME'],
  :password => ENV['GMAIL_SMTP_PASSWORD'],
}
在您的配置中是行

:domain => ENV['GMAIL_SMTP_USERNAME']
这是错误的,因为在username字段中有一些env变量。域名应该是“gmail.com”,因为您使用的是来自gmail.com的gmails邮件服务:

config.action_mailer.smtp_settings = {
  :address => "smtp.gmail.com",
  :port => 587,
  :authentication => :plain,
  :domain => "gmail.com",
  :user_name => ENV['GMAIL_SMTP_USERNAME'],
  :password => ENV['GMAIL_SMTP_PASSWORD'],
}

你能把邮件代码完全粘贴在这里吗?。是否有可能是缺少了结束块?您能将邮件代码完全粘贴到这里吗?。是否有可能端块丢失了?。