Rails:设计根据日志“发送”但未在我的Gmail收件箱中收到邮件的邮件

时间:2016-06-02 14:55:41

标签: ruby-on-rails email devise

我已检查过该电子邮件是否已被过滤为垃圾邮件,但垃圾邮件文件夹中未包含该邮件。

config / environments / production.rb

config.action_mailer.default_url_options = { :host => 'example.com' }
# ActionMailer Config
# Setup for production - deliveries, no errors raised
config.action_mailer.delivery_method = :smtp
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = false
config.action_mailer.default :charset => "utf-8"

配置/环境/ production.rb

config.action_mailer.smtp_settings = {
  address: "smtp.gmail.com",
  port: 587,
  domain: "example.com",
  authentication: "plain",
  enable_starttls_auto: true,
  user_name: ENV["GMAIL_USERNAME"],
  password: ENV["GMAIL_PASSWORD"]
}

配置/初始化/ devise.rb

config.mailer_sender = 'example@gmail.com'

Heroku日志:

2016-06-03T10:42:41.963581+00:00 app[web.1]: Sent mail to ****@gmail.com (1222.9ms)

我也尝试过开发,但我得到了相同的结果。不知怎的,它正在发送,但它永远不会到来。

谁能帮我解决问题?

1 个答案:

答案 0 :(得分:2)

在您配置的Gmail帐户中:

  1. 转到帐户设置

  2. 转到登录&安全性,其次是 Connected apps&网站

  3. 最后在允许安全性较低的应用 ...检查。

  4. 我的发送环境设置发送邮件

    development.rb =>

     config.action_mailer.delivery_method = :smtp
    

    =>在initializers =>将文件创建为mail_setup.rb,粘贴此配置

    ActionMailer::Base.smtp_settings = {
      :address              => "smtp.gmail.com",
      :port                 => 587,
      # :domain               => "http://localhost:8082.com",
      :user_name            => "mukesh.sharma@skilrock.com",
      :password             => "**************",
      :authentication       => "plain",
      :enable_starttls_auto => true
    }