Node.js - отправить письмо при регистрации - PullRequest
12 голосов
/ 12 января 2012

У меня есть форма регистрации с одним полем электронной почты.Когда пользователь вводит свою электронную почту, мне нужно отправить ссылку для регистрации.

Я видел этот пример Node.js с формой регистрации.Но у него есть только функция sendWelcome.

Есть ли примеры приложений Node.js с отправкой регистрационного письма?

1 Ответ

24 голосов
/ 13 января 2012

До сих пор я не видел такого примера, но каков ваш второй вопрос? Приведенный вами пример очень хорошо показывает, как отправить электронное письмо. Другой вариант - использовать этот пакет:

https://github.com/Marak/node_mailer

Что также хорошо документировано о том, как отправлять электронные письма.

Поэтому я предполагаю, что вы хотите знать, как настроить систему регистрации. Один из способов сделать это - создать таблицу регистрации пользователей, в которой есть столбцы e-mail и token. E-mail очевидно, token - это случайно сгенерированная строка (например, с помощью метода crypto.randomBytes узла), которая будет отправлена ​​как часть ссылки пользователю. После входа по ссылке вы ищите в базе данных этот токен и, если он найден, вы продолжаете регистрацию.

Две вещи, на которые следует обратить внимание: при создании токена убедитесь, что он уже не существует в БД. Второе: рекомендуется использовать столбец valid_until для удаления токенов старше нескольких часов.

Обновление:

К сожалению, экспорт base64 узла не является URL-безопасным. Таким образом, это самый простой способ получить безопасный токен, который я нашел:

require('crypto').randomBytes(48, function(ex, buf) {
    token = buf.toString('base64').replace(/\//g,'_').replace(/\+/g,'-');
});

Возможно, кто-то найдет лучшее решение.

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