Devise Подтверждаемые электронные письма не отправляются - PullRequest
0 голосов
/ 22 апреля 2019

Разработка электронных писем с подтверждением аккаунта не отправляется, несмотря на то, что в логах heroku говорится, что это так.

Я добавил надстройку для отправки сетки в свое приложение heroku.Я попытался добавить config.action_mailer.perform_deliveries = true в мой файл production.rb и установить config.action_mailer.raise_delivery_errors = true.Но ни один из них, похоже, не работает.

config / environment / production.rb:

  config.action_mailer.perform_caching = false
  config.action_mailer.perform_deliveries = true
  config.action_mailer.raise_delivery_errors = true
  config.action_mailer.delivery_method = :smtp
  host = 'math-scientist.herokuapp.com'
  config.action_mailer.default_url_options = { host: host }
  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
  }

config / initializers / devise.rb

  config.mailer_sender = 'noreply@mathscientist.com'
  config.reconfirmable = false

Модель пользователя:

  class User < ApplicationRecord
    devise :database_authenticatable, :registerable, :confirmable,
       :recoverable, :rememberable, :validatable
  end

Миграция базы данных:

  class AddConfirmableToUsers < ActiveRecord::Migration[5.1]
    def up
     add_column :users, :confirmation_token, :string
      add_column :users, :confirmed_at, :datetime
      add_column :users, :confirmation_sent_at, :datetime
      add_index :users, :confirmation_token, unique: true
      User.update_all confirmed_at: DateTime.now
    end

    def down
      remove_columns :users, :confirmation_token, :confirmed_at,           
                     :confirmation_sent_at
    end
  end

Журналы Heroku:

  Sent mail to mathscientistofficial@gmail.com (1210.8ms)
  Date: Mon, 22 Apr 2019 15:51:18 +0000
  From: noreply@mathscientist.com
  Reply-To: noreply@mathscientist.com
  To: mathscientistofficial@gmail.com

  Subject: Confirmation instructions


  <p>Welcome mathscientistofficial@gmail.com!</p>

  <p>You can confirm your account email through the link below:</p>

  <p><a href="http://math-scientist.herokuapp.com/users/confirmation?confirmation_token=sSbZLC3ytX8dEc2Xv1e2">Confirm my account</a></p>

Редактировать: я проверил свою панель мониторинга sendgrid на heroku, и она говорит, что она не получилазапросы по электронной почте.

Редактировать 2: Heroku установил для меня имя пользователя и пароль для сетки отправки, когда я добавил надстройку для сетки отправки.Но у меня нет ключа API для отправки сетки.Нужно ли отправлять письма с подтверждением разработки?

...