/ / Kiedy Devise rzeczywiście wysyła e-maile potwierdzające? - ruby-on-rails, ruby, ruby-on-rails-3, email, devise

Kiedy Devise rzeczywiście wysyła e-maile potwierdzające? - ruby-on-rails, ruby, ruby-on-rails-3, e-mail, opracowanie

Próbuję dodać potwierdzenie modelu do wiadomości e-mailo nazwie „Project” w aplikacji Rails: użytkownicy powinni mieć możliwość ustawienia adresu e-mail dla projektu, który nie zostanie zapisany, dopóki nie kliknie linku potwierdzenia wysłanego na podany adres e-mail.

Chociaż nie potrzebuję jej uwierzytelnianiafunkcje, myślałem, że klejnot Devise może być przydatny. Miałem nadzieję, że użyję: rekonfigurowalnego do zaimplementowania funkcji: gdy użytkownik próbuje zapisać wiadomość e-mail do projektu, zamiast tego jest zapisywany w kolumnie unconfirmed_email, dopóki nie potwierdzi.

Wydaje się częściowo działać - baza danychjest poprawnie aktualizowany, generowany jest token, ustawiane jest pole „confirmation_sent_at”. Ale szablon e-mail nie jest renderowany (i nie jest wysyłany e-mail). Patrząc na ścieżkę kodu w lib / devise / models.rb Widzę, jak przed zapisaniem pola e-mailowego wywoływana jest metoda przechwytująca zapisywanie i zapisująca w pliku unconfirmed_email. Ale gdzie właściwie jest wysyłany e-mail? Co muszę zrobić, aby go aktywować?

Odpowiedzi:

1 dla odpowiedzi № 1

Zakładając, że poprawnie skonfigurowałeś Devise, aby użyć :confirmable poprawnie skonfiguruj i skonfiguruj swój adres e-mail (jak opisano w tej odpowiedzi). To powinno być tak proste, jak wywołanie tego:

user.send_confirmation_instructions # where user is one of your Devise users

Przynajmniej czyniąc send_confirmation_instructions połączenie powinno pokazywać, że wiadomość e-mail jest wysyłana w dzienniku Railsów. Jeśli tak jest, ale nie otrzymujesz e-maila, masz nieprawidłowo skonfigurowany e-mail.