2012-02-02 3 views
1

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

У меня есть этот код в моей папке конфигурации/разработки

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

и это в моей AdminUser модели

after_create { |admin| admin.send_reset_password_instructions } 
def password_required? 
new_record? ? false : super 
end 

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

ответ

2

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

Пожалуйста, добавьте следующую строку в приложение/Gemfile и запустите установку пакета.

gem "letter_opener" 

, а затем добавьте следующую строку в Config/enviornments/development.rb

config.action_mailer.delivery_method = :letter_opener 

Приведенный выше код поможет вам увидеть результат в самом браузере, на самом деле не отправляет электронную почту.

Чтобы отправить фактическое письмо, которое вам нужно изменить следующую строку и нужно добавить код Smtp (SMTP-сервер)

config.action_mailer.delivery_method = :smtp 

Затем добавьте следующие строки ниже предыдущей строки:.

config.action_mailer.smtp_settings = { 
    :address    => "smtp.sendgrid.net", 
    :port     => 587, 
    :domain    => 'gmail', 
    :user_name   => 'gmail username', 
    :password    => 'gmail password', 
    :authentication  => 'plain', 
    :enable_starttls_auto => true 
    } 
Смежные вопросы