Reputation: 1327
Im trying to send emails with smtp module, but Im having an error:
File "/usr/lib/python2.7/smtplib.py", in login
raise SMTPAuthenticationError(code, resp) smtplib.SMTPAuthenticationError: (534, '5.7.14)...
Someone already had this error? Do you know how to fix?
The code:
def sendNotification():
recepients_list = "[email protected]"
subject = 'Subject'
message = "Message"
sendemail(recepients_list,subject,message)
def sendemail(to_addr_list, subject, message):
username = '[email protected]'
password = 'passtest'
from_addr = '[email protected]'
server = smtplib.SMTP('smtp.gmail.com', 587)
server.ehlo()
server.starttls()
server.login(username,password)
newmessage = '\r\n'.join([
'To: %s' %recepient_list,
'From: %s' % from_addr,
'Subject: %s' %subject,
'',
message
])
try:
server.sendemail(from_addr, to_addr_list,newmessage)
print 'notification sent'
except:
print 'error sending notification'
server.quit()
sendNotification()
Upvotes: 7
Views: 33085
Reputation: 1516
None of the less-secure options worked for me. What worked in the end was setting up 2-factor authentication, and then generating an app-specific password. Instructions here: https://support.google.com/domains/answer/9437157
Upvotes: 0
Reputation: 1
I had exactly the same problem. Yes, it worked. By enabling your gmail account security setting -> Allow less secure app, I was able to send a simple email from one gmail to another gmail account.
WARNING: Allowing low security for apps accessing your Google account is not recommended by google. It can be a security threat. Turn it OFF after the experiment.
Upvotes: -1
Reputation: 21
(534, b'5.7.14 Please log in via your web browser and\n5.7.14 then try again.\n5.7.14 Learn more at\n5.7.14 https://support.google.com/mail/answer/78754 h16sm7090987wrc.89 - gsmtp')
try https://myaccount.google.com/security#connectedapps
Allow less secure apps: ON Some apps and devices use less secure sign-in technology, which could leave your account vulnerable. You can turn off access for these apps (which we recommend) or choose to use them despite the risks.
Upvotes: 1
Reputation: 5875
Go to Google's Account Security Settings: www.google.com/settings/security
Find the field "Access for less secure apps". Set it to "Allowed".
Try your script again, changing server.sendemail()
to server.sendmail()
Upvotes: 11