SimpleMailMessage mailMessage = new SimpleMailMessage();
mailMessage.setTo(userTable.getEmail());
mailMessage.setSubject("Complete Registration!");
mailMessage.setFrom("v**********@gmail.com");
mailMessage.setText("To confirm your account, please click here : "
);
return mailMessage;
javaMailSender.sendEmail(mailMessage);
В вашем файле application.properties
spring.mail.host=smtp.gmail.com
spring.mail.password=*************
spring.mail.username=v*************@gmail.com
spring.mail.port=587
Теперь, как только пользователь зарегистрируется, вызовите эту функцию. Обязательно сделайте пользователя disable
, пока он не подтвердит создание аккаунта. при создании пользователя создайте дополнительный столбец в пользовательской таблице с помощью boolean isEnable
. По умолчанию это будет ложью, если это не будет явным образом, т. Е. (В случае щелчка по URL-адресу подтверждения) Укажите URL-адрес, который будет вызываться по почте, и при щелчке по почте откроется страница с успешной регистрацией и установите isEnable=true
в базе данных. Теперь каждый раз, когда пользователь регистрируется, он создает свою запись в базе данных с isEnable как false. Затем выполните проверку каждый раз, когда userlogin. Вы можете легко сделать это в весенней безопасности.
В ваше письмо отправляется уникальный идентификатор (UUID), связанный со ссылкой (например, localhost:8080/confirmRegisteration?token=djdkfjksdfjksdhfj
Это будет go для подтверждения конечной точки подтверждения), по которому должен щелкнуть пользователь. Сохраните этот UUID в своей базе данных и во время подтверждения. Проверьте, есть ли UUID в ссылке или нет. Если вы указали действительный период времени. затем проверьте это тоже. После этого просто установите для свойства isEnable
значение true и удалите маркер UUID из базы данных.