Spring Boot Mail: рассылка почты пользователям, активация аккаунта

Описание к видео Spring Boot Mail: рассылка почты пользователям, активация аккаунта

Spring Boot Web Application (MVC): Добавляем оповещения пользователей по электронной почте, добавляем механизм проверки почтового ящика пользователя (активация аккаунта)

Код из видео:
https://github.com/drucoder/sweater/t...

Первым делом добавим зависимость на Spring Mail.
Зависимость на Spring Mail:
https://gist.github.com/drucoder/c0ef...

Для оповещения пользователя по почте прежде всего нужно куда-то сохранить его адрес. Добавим в доменный объект User поля email и activationCode. После чего на форме регистрации выведем поле ввода почтового адреса. Следующим шагом модифицируем код контроллера регистрации и сервиса работы с пользователями, для сохранения информации о почте и добавим уникальный код активации для подтверждения того, что пользователь ввёл адрес ящика, к которому действительно у него есть доступ.
После этого создадим сервис MailSender, который будет осуществлять рассылку почты. Также нам потребуется создать конфигурационный класс MailConfig, в котором мы будем содавать инстанс класса JavaMailSenderImpl, осуществляющего низкоуровневые оперции с сервером почты. Для этого класса введем в файл application.properties следующие параметры:
https://gist.github.com/drucoder/5bd2...

Настройки доступа к почтовому серверу Яндекса:
https://yandex.ru/support/mail/mail-c...

После этого добавим в UserService код рассылки почтовых уведомлений о необходимости регистрации и добавим в RegistrationController код, принимающий запрос активации от пользователя. Данный код будет проверять наличие пользователя в БД, имеющего такой код активации, после чего код будет удалён из БД.

Для проверки корректности работы приложения можно использовать сервис времменых почтовых ящиков:
https://temp-mail.org/ru/view/a0a6cfd...


➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖

➡ Твиттер:   / letscodedru  
➡ Чат в Discord:   / discord  
➡ Группа Вконтакте: https://vk.com/letscodedru
➡ Канал в Telegram: https://t.me/letsCode_dru
➡ Чат в Telegram: https://t.me/joinchat/FeiP9xEhqHajfqh...

➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖

Поддержать проект:
➡ Patreon   / letscodedru  
➡ Яндекс.Деньги https://money.yandex.ru/to/4100145167...
➡ PayPal paypal.me/letscodedru
➡ Qiwi https://qiwi.me/letscode
➡ WebMoney/BitCoin https://funding.webmoney.ru/d/drucoder

➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖


Ссылка на канал:    / @letscodedru  
Ссылка на Яндекс.Дзен: https://zen.yandex.ru/media/id/5ac209...

Комментарии

Информация по комментариям в разработке