es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Nodemailer con cuenta de Gmail no funciona dentro de Cloud Functions.

Estoy intentando enviar un correo electrónico de restablecimiento de contraseña desde una cuenta de correo electrónico noreply.myappname@gmail.com a mis usuarios utilizando una cuenta de Gmail y nodemailer dentro de una Cloud Function.

He seguido este código de ejemplo que no está funcionando.
Aquí está el error que estoy obteniendo:

enter image description here

Entonces he intentado lo que está escrito: Inicie sesión a través de su navegador web y luego vuelva a intentarlo.
También he configurado lessSecureApp en ON en mi cuenta de Gmail.
Recibo alertas de seguridad en mi cuenta principal de Gmail cada vez que se ejecuta una Cloud Function y esto aún no está funcionando.

¿Qué estoy haciendo mal aquí? (Tengo el mismo código que el ejemplo, solo configuré functions.config().gmailEmail y functions.config().gmailPassword con los de mi cuenta).

¿Cómo evitar las alertas de seguridad y hacer que funcione sin necesidad de iniciar sesión en un navegador (aunque tampoco funcione), lo cual sería extraño para una aplicación de producción?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que has seguido el código de muestra proporcionado por Firebase para enviar correos electrónicos de restablecimiento de contraseña utilizando nodemailer dentro de una Cloud Function, y has configurado tu correo electrónico y contraseña de Gmail en la configuración functions.config(). Sin embargo, aún encuentras una alerta de seguridad en tu cuenta principal de Gmail y la función no está funcionando.

    Un posible problema es que el sistema de seguridad de Google está bloqueando el intento de inicio de sesión desde la Cloud Function porque lo considera una actividad potencialmente sospechosa. Para evitar esta alerta de seguridad, puedes intentar utilizar una contraseña específica de la aplicación en lugar de tu contraseña principal de Gmail. Esto se puede generar desde la configuración de seguridad de tu cuenta de Google y permitirá que tu Cloud Function acceda a tu cuenta de Gmail sin activar la alerta de seguridad.

    Para generar una contraseña específica de la aplicación, sigue estos pasos:

    1. Ve a la configuración de tu cuenta de Google y haz clic en “Seguridad”.
    2. Desplázate hacia abajo hasta “Inicio de sesión en Google” y haz clic en “Contraseñas de aplicaciones”.
    3. Selecciona “Correo” en el menú desplegable y luego “Otro” para el dispositivo.
    4. Elige un nombre para la contraseña específica de la aplicación y haz clic en “Generar”.
    5. Copia la contraseña generada y úsala como gmailPassword en la configuración de tu Cloud Function.

    Si aún encuentras problemas al enviar correos electrónicos después de utilizar una contraseña específica de la aplicación, puedes intentar habilitar “Permitir aplicaciones menos seguras” en la configuración de tu cuenta de Gmail. Sin embargo, esto generalmente no se recomienda, ya que puede hacer que tu cuenta sea más vulnerable a ataques.

    En cuanto al mensaje de error que estás recibiendo, “Inicia sesión a través de tu navegador web y luego inténtalo de nuevo”, esto podría estar relacionado con la alerta de seguridad. Sin embargo, si sigues encontrando este error incluso después de usar una contraseña específica de la aplicación, es posible que desees verificar que has configurado correctamente las opciones de nodemailer en tu Cloud Function y que estás utilizando la dirección de correo electrónico y contraseña correctas.

Comments are closed.