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.

La autenticación de Django en Gmail falla a pesar de las credenciales correctas.

Mi envío de correo desde Django a través de Gmail de repente dejó de funcionar. Estaba funcionando bien durante más de un año, así que asumo que mi configuración básica aún debería estar bien. La cuenta de Google en cuestión tiene 2FA habilitado y la contraseña utilizada en la configuración a continuación es una contraseña de aplicación generada, no la contraseña de la cuenta principal. Ya inicié sesión en Gmail a través del navegador y verifiqué que no haya sido bloqueada y que no esté superando la cuota.

settings.py

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_USE_TLS = True
EMAIL_PORT = 587 
EMAIL_HOST_USER = '<mi-dirección-de-correo>'
EMAIL_HOST_PASSWORD = '<contraseña>'
DEFAULT_FROM_EMAIL = '<mi-dirección-de-correo>'

Ya verifiqué mis credenciales utilizando el siguiente comando: (por supuesto, la expansión de shell no funciona, solo pegué la salida del comando en esa ubicación)

$ openssl s_client -connect smtp.gmail.com:587 -starttls smtp
>AUTH PLAIN $(echo -ne '\0MI-DIRECCIÓN-DE-CORREO\0CONTRASEÑA' | base64)
>235 2.7.0 Accepted

Sin embargo, si intento usar send_mail, rebota:

In [1]: from django.core.mail import send_mail                                                                                                                           

In [2]: send_mail('Asunto', 'Este es un mensaje de prueba', 'MI-DIRECCIÓN-DE-CORREO', ('destinatario@direccion.com',))  
 (Output acortado)
SMTPAuthenticationError: (535, b'5.7.8 Nombre de usuario y contraseña no aceptados. Obtenga más información en\n5.7.8  https://support.google.com/mail/?p=BadCredentials r17sm9826202wmq.5 - gsmtp')

¿Alguna pista sobre qué podría estar mal (repentinamente)?</mi-dirección-de-correo></contraseña></mi-dirección-de-correo>

Tags:  , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error “SMTPAuthenticationError: (535, b’5.7.8 Nombre de usuario y contraseña no aceptados” indica que hay un problema de autenticación con la cuenta de Gmail. Aunque las credenciales han sido verificadas usando el comando openssl, sigue siendo posible que la contraseña de la aplicación generada haya sido revocada o haya expirado.

    Una solución potencial es generar una nueva contraseña de aplicación para la cuenta de Gmail y actualizar la variable EMAIL_HOST_PASSWORD en el archivo settings.py. Otra solución es desactivar la autenticación de dos factores (2FA) para la cuenta de Gmail y usar la contraseña de la cuenta en lugar de la contraseña de la aplicación. Sin embargo, esta puede que no sea la opción más segura.

    También es posible que Google haya bloqueado el acceso desde el servidor debido a actividad sospechosa o intentos de inicio de sesión inusuales. En este caso, el propietario de la cuenta puede necesitar iniciar sesión en la cuenta de Gmail a través de un navegador y seguir las indicaciones para desbloquear la cuenta.

    Por último, vale la pena verificar si algún software de firewall o antivirus en el servidor está bloqueando la conexión al servidor SMTP de Gmail. Esto se puede probar desactivando temporalmente el software y volviendo a intentar enviar un correo electrónico.

Comments are closed.