Incapaz de iniciar sesión usando smtp

Introduzco el email correcto / contraseña pero todavía no puede acceder a ese correo / incapaz de enviar mensaje con ese correo por lo que está salida El nombre de usuario o contraseña que ha introducido es incorrecto ¿Puede alguien ayudarme a identificar el problema y encontrar una buena solución, por favor?

Gracias.

-me

def Emailspam():
print("Choose your email provider")
print("1. Gmail")
print("2. Outlook")
provider = input(CRED + ">>> " + CEND)
os.system("cls")

useremail = input("EMAIL : ")
userpass = input("PASSWORD : ")
os.system("cls")

victimemail = input("Victim email : ")
Content = input('Message : ')
Number = int(input("Number of mail to send : "))
os.system("cls")

#https://www.androidauthority.com/gmail-smtp-settings-801100/#:~:text=SMTP%20server%20address%3A%20smtp.gmail,SMTP%20port%20(SSL)%3A%20465
if provider == ("1"):
    smtp_server = 'smtp.gmail.com'
    port = 587
#https://support.microsoft.com/en-us/office/pop-imap-and-smtp-settings-for-outlook-com-d088b986-291d-42b8-9564-9c414e2aa040
elif provider == ("2"):
    smtp_server = 'smtp.office365.com'
    port = 587

else:
    print("Invalid choice")
    skrr = input("press enter to close")
    exit()

try:
    server = smtplib.SMTP(smtp_server,port)
    server.login(useremail,userpass)

    for i in range(0,Number):
        print("Number of Message Sent to " + victimemail + ":" , i+1)
        server.starttls()
        server.ehlo()
        server.sendmail(useremail,victimemail,Content)
        time.sleep(1)

    server.close()

except Exception as e:
    print('The username or password you entered is incorrect.')
    p = input("Press enter to close")
    exit()

Pregunta hecha hace 3 años, 4 meses, 25 días - Por logiclinguist


5 Respuestas:

  • Trate de crear una contraseña de aplicación y luego vea si funciona. Para crear una contraseña de aplicación, vaya a su cuenta y vaya a la configuración de privacidad para configurarla. Además, trate de añadir:

    server.ehlo()
    

    después:

    server.starttls()
    

    Respondida el Dec 21, 2020 a las 08:32 - por nodenomad

    Votos positivos: 0 | Votos negativos: 0

  • usando el servidor. conectar y mover pocas cosas fuera del bucle lo arreglará

     def Emailspam():
            print("Choose your email provider")
            print("1. Gmail")
            print("2. Outlook")
            provider = input(CRED + ">>> " + CEND)
            os.system("cls")
        
            useremail = input("EMAIL : ")
            userpass = input("PASSWORD : ")
            os.system("cls")
        
            victimemail = input("Victim email : ")
            Content = input('Message : ')
            Number = int(input("Number of mail to send : "))
            os.system("cls")
            
            #https://www.androidauthority.com/gmail-smtp-settings-801100/#:~:text=SMTP%20server%20address%3A%20smtp.gmail,SMTP%20port%20(SSL)%3A%20465
            if provider == ("1"):
                smtp_server = 'smtp.gmail.com'
                port = 587
            #https://support.microsoft.com/en-us/office/pop-imap-and-smtp-settings-for-outlook-com-d088b986-291d-42b8-9564-9c414e2aa040
            elif provider == ("2"):
                smtp_server = 'smtp.office365.com'
                port = 587
            
            else:
                print("Invalid choice")
                skrr = input("press enter to close")
                exit()
        
            try:
                server = smtplib.SMTP(smtp_server,port)
                server.connect(smtp_server,port)
                server.ehlo()
                server.starttls()
                server.login(useremail,userpass)
        
        
                for i in range(0,Number):
                    print("Number of Message Sent to " + victimemail + ":" , i+1)
                    server.sendmail(useremail,victimemail,Content)
                    time.sleep(1)
        
                print("Finished")
                server.close()
        
            except Exception as e:
                print(e)
                print('The username or password you entered is incorrect.')
                p = input("Press enter to close")
                exit()
    

    Respondida el Dec 21, 2020 a las 08:41 - por codeartisan

    Votos positivos: 0 | Votos negativos: 0

  • Google ha incrementado su seguridad. Así que no podrás acceder a ninguna cuenta de gmail si no has apagado tu acceso a menos aplicaciones de seguridad desde tu cuenta de gmail. Para hacer ese primer clic gestionar google account Ficha de seguridad Menos acceso seguro a la aplicación Fuera. Este es un artículo para él:Cómo apagar menos acceso seguro a la aplicación en gmail

    Otra cosa es que no deberías mantener el código de inicio de sesión en tu bucle. Deberías entrar fuera del bucle. Así que se iniciará una vez y enviará correo electrónico con esa cuenta muchas veces.

    Espero que ayude!

    Aquí está el código de trabajo:

    def Emailspam():
        print("Choose your email provider")
        print("1. Gmail")
        print("2. Outlook")
        provider = input(CRED + ">>> " + CEND)
        os.system("cls")
    
        useremail = input("EMAIL : ")
        userpass = input("PASSWORD : ")
        os.system("cls")
    
        victimemail = input("Victim email : ")
        Content = input('Message : ')
        Number = int(input("Number of mail to send : "))
        os.system("cls")
    
    
        if provider == ("1"):
            smtp_server = 'smtp.gmail.com'
            port = 587
    
        elif provider == ("2"):
            smtp_server = 'smtp.office365.com'
            port = 587
    
        else:
            print("Invalid choice")
            skrr = input("press enter to close")
            exit()
    
        try:
            server = smtplib.SMTP(smtp_server,port)
            server.ehlo()
            server.starttls()
            server.login(useremail,userpass)
    
            for i in range(0,Number):
                print("Number of Message Sent to " + victimemail + ":" , i+1)
                server.sendmail(useremail,victimemail,Content)
                time.sleep(1)
    
            server.close()
    
        except Exception as e:
            print('The username or password you entered is incorrect.')
            p = input("Press enter to close")
            exit()
    

    Respondida el Dec 21, 2020 a las 08:50 - por codecrusaderx

    Votos positivos: 0 | Votos negativos: 0

  • El mensaje de error que estás recibiendo indica que el nombre de usuario o la contraseña que estás utilizando para iniciar sesión en el servidor SMTP son incorrectos. Hay varias posibles razones por las que esto podría estar ocurriendo:

    • Error en el nombre de usuario o contraseña: Asegúrate de que estás introduciendo el email y la contraseña correctos. Verifica que no haya errores tipográficos en la información que estás ingresando.
    • Autenticación en dos pasos: Si estás utilizando una cuenta de Gmail, es posible que tengas activada la autenticación en dos pasos. En ese caso, necesitarás generar una contraseña de aplicación para poder acceder desde un programa externo. Puedes crear una contraseña de aplicación en la sección de seguridad de tu cuenta de Google.
    • Configuración incorrecta del servidor SMTP: Asegúrate de que estás utilizando la dirección y el puerto correctos para el servidor SMTP de tu proveedor de correo electrónico. Verifica la configuración de Gmail o de Outlook para obtener la información actualizada.
    1. Firewall o antivirus bloqueando la conexión: A veces, los firewalls o los programas antivirus pueden

    Respondida el Dec 22, 2020 a las 08:33 - por Gpt

    Votos positivos: 0 | Votos negativos: 0

  • El mensaje de error "El nombre de usuario o contraseña que ha introducido es incorrecto" indica que las credenciales proporcionadas (useremail y userpass) son incorrectas o que hay un problema con la configuración del servidor SMTP. Aquí tienes algunos pasos para solucionar el problema:

    • Verifica las credenciales: Asegúrate de que has introducido la dirección de correo electrónico y la contraseña correctas. Es posible que hayas cometido un error tipográfico o que hayas utilizado una cuenta de correo electrónico incorrecta.
    • Comprueba la configuración del servidor SMTP: Asegúrate de que estás utilizando el servidor SMTP y el puerto correctos para tu proveedor de correo electrónico. En tu código, has especificado "smtp.gmail.com" y 587 para Gmail y "smtp.office365.com" y 587 para Outlook. Comprueba que estos ajustes son correctos para tu proveedor.
    • Habilita la autenticación de dos factores: Algunos proveedores de correo electrónico, como Gmail, requieren que habilites la autenticación de dos factores para acceder a tu cuenta a través de un cliente SMTP. Consulta la configuración de tu cuenta para asegurarte de que está habilitada.
    • Genera una contraseña de aplicación específica: En lugar de utilizar tu contraseña normal, puedes generar una contraseña de aplicación específica para utilizarla con clientes SMTP. Esto te permite mantener tu contraseña principal segura.
    • Verifica los puertos de tu firewall: Asegúrate de que los puertos utilizados por el servidor SMTP (normalmente 587 o 465) no están bloqueados por tu firewall.
    • Utiliza una biblioteca SMTP diferente: Intenta utilizar una biblioteca SMTP diferente, como `smtplib2` o `python-smtplib`. Estas bibliotecas pueden proporcionar una gestión de errores más detallada que puede ayudarte a identificar el problema.

    Si has seguido estos pasos y sigues teniendo problemas, considera ponerte en contacto con tu proveedor de correo electrónico para obtener asistencia adicional.

    Respondida el Dec 22, 2020 a las 08:39 - por Gemini

    Votos positivos: 0 | Votos negativos: 0