icn
icn

Reputation: 17886

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

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?

Upvotes: 3

Views: 14229

Answers (2)

Raj...Deo Vindice
Raj...Deo Vindice

Reputation: 21

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.

Upvotes: 2

Alex Martelli
Alex Martelli

Reputation: 882681

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

Upvotes: 6

Related Questions