Las credenciales de inicio de sesión no funcionan con Gmail SMTP

Estoy intentando enviar un correo electrónico en Python, a través de Gmail. Aquí está mi código:

import smtplib fromaddr = '......................' toaddrs = '......................' msg = 'Spam email Test' username = '.......' password = '.......' server = smtplib.SMTP('smtp.gmail.com', 587) server.ehlo() server.starttls() server.login(username, password) server.sendmail(fromaddr, toaddrs, msg) server.quit() 

Me sale el error:

 Traceback (most recent call last): File "email_send.py", line 18, in  server.login(username, password) File "C:\.....\Python\lib\smtplib.py", line 633 , in login raise SMTPAuthenticationError(code, resp) smtplib.SMTPAuthenticationError: (535, b'5.7.8 Username and Password not accepte d. Learn more at\n5.7.8 http://support.google.com/mail/bin/answer.py?answer=1425 7\n5.7.8 {BADCREDENTIALS} s10sm9426107qam.7 - gsmtp') 

Esto parece ser un problema con el inicio de sesión. Estoy seguro de que mis datos de inicio de sesión son correctos, excepto por una cosa. ¿El nombre de usuario debería ser “blah@gmail.com”, o simplemente “blah”? Intenté ambos, mismo error.

¿Alguna idea de lo que está mal?

NOTA: todos los períodos son en lugar de contraseña / correo electrónico / rutas de archivo / etc.

    Me encontré con un problema similar y me encontré con esta pregunta. Recibí un error de autenticación SMTP pero mi nombre de usuario / paso fue correcto. Esto es lo que lo arregló. Leo esto:

    https://support.google.com/accounts/answer/6010255

    En pocas palabras, Google no le permite iniciar sesión a través de smtplib porque ha marcado este tipo de inicio de sesión como “menos seguro”, por lo que debe hacer clic en este enlace mientras está conectado a su cuenta de Google. y permitir el acceso:

    https://www.google.com/settings/security/lesssecureapps

    Una vez que se establece (ver mi captura de pantalla a continuación), debería funcionar.

    Aplicaciones menos seguras

    Iniciar sesión ahora funciona:

     smtpserver = smtplib.SMTP("smtp.gmail.com", 587) smtpserver.ehlo() smtpserver.starttls() smtpserver.ehlo() smtpserver.login('me@gmail.com', 'me_pass') 

    Respuesta después del cambio:

     (235, '2.7.0 Accepted') 

    Respuesta previa:

     smtplib.SMTPAuthenticationError: (535, '5.7.8 Username and Password not accepted. Learn more at\n5.7.8 http://support.google.com/mail/bin/answer.py?answer=14257 g66sm2224117qgf.37 - gsmtp') 

    ¿Sigue sin funcionar? Si aún obtiene el SMTPAuthenticationError pero ahora el código es 534, es porque la ubicación es desconocida. Siga este enlace:

    https://accounts.google.com/DisplayUnlockCaptcha

    Haga clic en continuar y esto le dará 10 minutos para registrar su nueva aplicación. Entonces proceda a hacer otro bash de inicio de sesión ahora y debería funcionar.

    Esto no parece funcionar de inmediato, puede que te smptlib estancado por un tiempo al recibir este error en smptlib :

     235 == 'Authentication successful' 503 == 'Error: already authenticated' 

    El mensaje dice que use el navegador para iniciar sesión:

     SMTPAuthenticationError: (534, '5.7.9 Please log in with your web browser and then try again. Learn more at\n5.7.9 https://support.google.com/mail/bin/answer.py?answer=78754 qo11sm4014232igb.17 - gsmtp') 

    Después de habilitar ‘lesssecureapps’, vaya a tomar un café, vuelva e intente nuevamente el enlace ‘DisplayUnlockCaptcha’. Según la experiencia del usuario, el cambio puede tardar hasta una hora en iniciarse. Luego, vuelva a intentar el proceso de inicio de sesión.

    ACTUALIZACIÓN :: Vea mi respuesta aquí: ¿Cómo enviar un correo electrónico con Gmail como proveedor utilizando Python?

    Tuve el mismo problema. El error de autenticación puede ser debido a su configuración de seguridad, la verificación de 2 pasos, por ejemplo. No permitirá que aplicaciones de terceros anulen la autenticación.

    Inicie sesión en su cuenta de Google y use estos enlaces:

    Paso 1 [Enlace de deshabilitar la verificación de 2 pasos]:

    https://myaccount.google.com/security?utm_source=OGB&utm_medium=act#signin

    Paso 2: [Enlace para permitir aplicaciones menos seguras]

    https://myaccount.google.com/u/1/lesssecureapps?pli=1&pageId=none

    Debería estar todo bien ahora.

    Si activa la verificación de 2 pasos, necesita generar una contraseña de aplicación especial en lugar de usar su contraseña común. https://myaccount.google.com/security#signin

    Tuve el mismo problema. Y lo arreglé con la creación de una aplicación de contraseña para la aplicación de correo electrónico en Mac. Puede encontrarlo en mi cuenta -> Seguridad -> Iniciar sesión en Google -> Contraseñas de la aplicación. A continuación se muestra el enlace para ello. https://myaccount.google.com/apppasswords?utm_source=google-account&utm_medium=web