Подтверждение регистрации регистрации говорит, что почта была отправлена, но пользователи не видят эти сообщения

У меня есть приложение Ruby on Rails с разработанной авторизацией. Я добавляю подтверждение для регистрации нового пользователя как в руководстве.

Но новые пользователи не получают подтверждающих сообщений.

Журнал отправки подтверждения говорит, что электронная почта была успешно отправлена:

Devise::Mailer#confirmation_instructions: processed outbound mail in 262.0ms

Sent mail to new-user@email.com (60066.4ms)
Date: Tue, 27 Oct 2015 13:24:12 +0500
From: from@our-mail.com
Reply-To: reply-to@our-mail.com
To: from@our-mail.com
Message-ID: <message-id@my-machine.mail>
Subject: Confirmation instructions
Mime-Version: 1.0
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: 7bit

<p>Hello new-user@email.com!</p>    
<p>You can confirm your account email through the link below.:</p>    
<p><a href="http://www.example.com:3100/users/confirmation?confirmation_token=token">Confirm my account</a></p>

Но когда я перехожу на электронную почту нового пользователя, я нигде не вижу подтверждающего письма, даже в папке со спамом. Я пробовал несколько разных почтовых провайдеров - везде результат один и тот же.

Еще одно письмо, которое я отправляю прямо из моего кода приложения (без устройства), отправляет и получает успешно.

Настройки отправки моей электронной почты в /config/environment/development.rb:

config.action_mailer.default_url_options = {:host => 'www.example.com:3100'}
config.action_mailer.delivery_method = :smtp

config.action_mailer.smtp_settings = {
    :address => ENV['SMTP_ADDRESS'],
    :port => ENV['SMTP_PORT'],
    :user_name => ENV['SMTP_USERNAME'],
    :password => ENV['SMTP_PASSWORD'],
    :authentication => 'login',
    :enable_starttls_auto => true
}

А также user модель:

class User < ActiveRecord::Base
    devise :database_authenticatable,
           :registerable,
           :confirmable,
           # :async, # I will enable async when confirmation will work at least in sync mode
           :recoverable,
           :rememberable,
           :trackable,
           :validatable,
           :omniauthable,
           :omniauth_providers => [:provider1, :provider2, ...]

Что я делаю неправильно? Где я могу найти причину сбоя отправки?

1 ответ

Решение

Откройте /config/environment/development.rb

и изменить

config.action_mailer.raise_delivery_errors = false 

в

config.action_mailer.raise_delivery_errors = true 

чтобы получить ошибку по электронной почте.

Другие вопросы по тегам