Рет қаралды 56,721
Spring Boot Web Application (MVC): Добавляем оповещения пользователей по электронной почте, добавляем механизм проверки почтового ящика пользователя (активация аккаунта)
Код из видео:
github.com/drucoder/sweater/t...
Первым делом добавим зависимость на Spring Mail.
Зависимость на Spring Mail:
gist.github.com/drucoder/c0ef...
Для оповещения пользователя по почте прежде всего нужно куда-то сохранить его адрес. Добавим в доменный объект User поля email и activationCode. После чего на форме регистрации выведем поле ввода почтового адреса. Следующим шагом модифицируем код контроллера регистрации и сервиса работы с пользователями, для сохранения информации о почте и добавим уникальный код активации для подтверждения того, что пользователь ввёл адрес ящика, к которому действительно у него есть доступ.
После этого создадим сервис MailSender, который будет осуществлять рассылку почты. Также нам потребуется создать конфигурационный класс MailConfig, в котором мы будем содавать инстанс класса JavaMailSenderImpl, осуществляющего низкоуровневые оперции с сервером почты. Для этого класса введем в файл application.properties следующие параметры:
gist.github.com/drucoder/5bd2...
Настройки доступа к почтовому серверу Яндекса:
yandex.ru/support/mail/mail-c...
После этого добавим в UserService код рассылки почтовых уведомлений о необходимости регистрации и добавим в RegistrationController код, принимающий запрос активации от пользователя. Данный код будет проверять наличие пользователя в БД, имеющего такой код активации, после чего код будет удалён из БД.
Для проверки корректности работы приложения можно использовать сервис времменых почтовых ящиков:
temp-mail.org/ru/view/a0a6cfd...
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
➡ Твиттер: / letscodedru
➡ Чат в Discord: / discord
➡ Группа Вконтакте: letscodedru
➡ Канал в Telegram: t.me/letsCode_dru
➡ Чат в Telegram: t.me/joinchat/FeiP9xEhqHajfqh...
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Поддержать проект:
➡ Patreon / letscodedru
➡ Яндекс.Деньги money.yandex.ru/to/4100145167...
➡ PayPal paypal.me/letscodedru
➡ Qiwi qiwi.me/letscode
➡ WebMoney/BitCoin funding.webmoney.ru/d/drucoder
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
Ссылка на канал: / @letscodedru
Ссылка на Яндекс.Дзен: zen.yandex.ru/media/id/5ac209...