Pregunta

Tengo el formulario de registro con el campo de correo electrónico único. Cuando un usuario ingresa su correo electrónico, necesito enviar un enlace de registro.

He visto este Node.js Ejemplo con formulario de registro. Pero solo tiene característica de SendWelcome.

¿Hay algún ejemplo de aplicaciones Node.js con el envío de correo electrónico de registro?

¿Fue útil?

Solución

No he visto ese ejemplo hasta ahora, pero ¿cuál es su pregunta secundaria? El ejemplo que ha proporcionado muestra bastante bien cómo enviar un correo electrónico. Otra opción es usar este paquete:

https://github.com/marak/node_mailer

Que también parece estar bien documentado sobre cómo enviar correos electrónicos.

Por lo tanto, supongo que le gustaría saber cómo configurar el sistema de registro. Una forma de hacerlo es tener una tabla para registrar usuarios que tiene e-mail y token columnas. E-mail es obvio, token es una cadena generada aleatoriamente (por ejemplo con nodo crypto.randomBytes Método) que se enviará como parte del enlace al usuario. Al ingresar el enlace, busca en la base de datos este token y, si se encuentra, procede con el registro.

Dos cosas a tener en cuenta: al crear el token, asegúrese de que ya no exista en el DB. Segundo: es una buena práctica usar un valid_until columna para eliminar tokens mayores de varias horas.

Actualizar:

Desafortunadamente, la exportación Base64 de Node no es segura por URL. Por lo tanto, este es el método más fácil para obtener el token seguro que he encontrado:

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

Quizás alguien se le ocurra una mejor solución.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top