Как подтвердить адрес электронной почты в весеннем веб-приложении MVC - PullRequest
5 голосов
/ 11 марта 2011

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

I am using java spring MVC hibernate mysql

Ответы [ 2 ]

18 голосов
/ 11 марта 2011

Среди других инструментов вы можете использовать пакет "java mail" для прямой отправки электронной почты из вашего приложения. Вот ссылка на API документы Java Mail API

Таким образом, сценарий может быть следующим:

  • Учетная запись пользователя создана. Сейчас он не подтвержден;
  • Вы генерируете уникальный идентификатор подтверждения для своей заявки. Самый простой способ - использовать java.util.UUID.randomUUID (). ToString (). UUID - случайное глобально уникальное значение.;
  • Вы сохраняете учетную запись с идентификатором (например, 0123) + в базе данных для будущего использования;
  • Отправьте URL + ID (http://yourapp.com/confirm?id=0123) как электронное письмо с использованием javamail пользователю;
  • Не показывать идентификатор в браузере сейчас;
  • Пользователь проверяет почтовый ящик и видит ваше письмо;
  • Пользователь нажимает на ссылку и запрос отправляется на ваш сервлет подтверждения сайта;
  • Сервлет подтверждения будет искать учетную запись, связанную с указанным идентификатором подтверждения;
  • Confirmaion сервлет устанавливает учетную запись в «подтвержденное состояние», поскольку пользователь явно имеет доступ к указанному почтовому ящику
0 голосов
/ 11 марта 2011

Используйте Java Mail Api для создания электронного письма с подтверждением.Также вам необходимо сгенерировать уникальный идентификатор для подтверждения пользователя - эта информация может храниться в БД.После того, как пользователь нажмет на вашу ссылку для подтверждения, вы должны перевести пользователя в состояние «Подтверждено».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...