python smtp gmail authentication error (sending email through gmail smtp server)

13,601

Solution 1

Port 587 obviously needs to be open, but it probably is (or you wouldn't have gotten the detailed error msg in question). Python 2.5 vs 2.6 should make no difference. I think the issue has to do with "solving a captcha" once on the computer for which logins are currently getting rejected; follow the detailed instructions at the URL in the error message, i.e., http://mail.google.com/support/bin/answer.py?answer=14257

Solution 2

import random,time
for i in range(1,100):
    y=random.randint(30,300)
    time.sleep(y)
    print ("Mailing for fun, Mail No: " + str(i))
    msg = MIMEText('Testing mailing \n Mail No:' + str(i))
    msg['Subject'] = 'Mail Number: ' + str(i)

Randomizing the mail interval to check smtp behavior :)

With a bit addition n modification, I got this to work to check our intermittent mail bouncing.

Share:
13,601
Kyaw Siesein
Author by

Kyaw Siesein

Software Engineer, rails, ruby, django,web2py,puppet, python,linux

Updated on June 04, 2022

Comments

  • Kyaw Siesein
    Kyaw Siesein almost 2 years

    I have the following code

    import smtplib
    from email.mime.text import MIMEText
    
    
    
    smtpserver = 'smtp.gmail.com'
    AUTHREQUIRED = 1 # if you need to use SMTP AUTH set to 1
    smtpuser = '[email protected]'  # for SMTP AUTH, set SMTP username here
    smtppass = '123456'  # for SMTP AUTH, set SMTP password here
    
    RECIPIENTS = ['[email protected]']
    SENDER = '[email protected]'
    
    msg = MIMEText('dsdsdsdsds\n')
    msg['Subject'] = 'The contents of iii'
    msg['From'] = '[email protected]'
    msg['To'] = ''[email protected]''
    
    mailServer = smtplib.SMTP('smtp.gmail.com',587)
    mailServer.ehlo()
    mailServer.starttls()
    mailServer.ehlo()
    mailServer.login(smtpuser, smtppass)
    mailServer.sendmail(smtpuser,RECIPIENTS,msg.as_string())
    mailServer.close()
    

    this code works fine on my desktop. but it failed with this error

    smtplib.SMTPAuthenticationError: (535, '5.7.1 Username and Password not accepted. Learn more at\n5.7.1 http://mail.google.com/support/bin/answer.py?answer=14257 21sm4713429agd.11')
    

    on my linux server.

    Not sure what went wrong, should i open some port on my linux server?