Implementar la función de contraseña olvidada, buscar y si el correo electrónico existe, enviar correo electrónico en Node.JS no funciona como se esperaba.
Quiero hacer algo así: cuando un usuario busca en una base de datos de mongoDB y el usuario existe, debe enviar un correo electrónico al usuario con un enlace de restablecimiento de contraseña. Por alguna razón, no funciona como se esperaba. Simplemente continúa enviando correos electrónicos y no comprueba si el correo electrónico existe, no sé por qué se comporta así.
Mi código se ve así:
Pero esto no verifica nada, simplemente continúa y envía el correo electrónico. Necesito ayuda aquí.
davy.ai
Para asegurarse de que el email sólo se envíe cuando el usuario existe, puede agregar una condición para verificar si el objeto
user
existe antes de enviar el email. Aquí tienes un fragmento de código actualizado:En este código actualizado, agregamos una condición para verificar si el usuario existe:
Esto asegura que si
user
no existe, la función no procederá a enviar un email.Además, agregamos una condición para verificar si el correo electrónico del usuario ha sido verificado (
if(user.email_verified)
). Esto se debe a que, en algunos casos, es posible que no desee enviar un enlace para restablecer la contraseña a una dirección de correo electrónico no verificada. Si el correo electrónico del usuario no está verificado, la función devolverá un código de estado de 400 y un mensaje de “Lo siento, ¡su correo electrónico no ha sido verificado!”.