SMTPAuthenticationError when sending mail using gmail and python [duplicate]

柔情痞子 提交于 2019-11-26 07:25:10

问题


This question already has an answer here:

  • How to send an email with Gmail as provider using Python? 13 answers

when i try to send mail using gmail and python error occurred this type of question are already in this site but doesn\'t help to me

gmail_user = \"me@gmail.com\"
gmail_pwd = \"password\"
TO = \'friend@gmail.com\'
SUBJECT = \"Testing sending using gmail\"
TEXT = \"Testing sending mail using gmail servers\"
server = smtplib.SMTP(\'smtp.gmail.com\', 587)
server.ehlo()
server.starttls()
server.login(gmail_user, gmail_pwd)
BODY = \'\\r\\n\'.join([\'To: %s\' % TO,
        \'From: %s\' % gmail_user,
        \'Subject: %s\' % SUBJECT,
        \'\', TEXT])

server.sendmail(gmail_user, [TO], BODY)
print (\'email sent\')

error:

    server.login(gmail_user, gmail_pwd)
    File \"/usr/lib/python3.4/smtplib.py\", line 639, in login
   raise SMTPAuthenticationError(code, resp)
   smtplib.SMTPAuthenticationError: (534, b\'5.7.14   
   <https://accounts.google.com/ContinueSignIn?sarp=1&scc=1&plt=AKgnsbtl1\\n5.7.14       Li2yir27TqbRfvc02CzPqZoCqope_OQbulDzFqL-msIfsxObCTQ7TpWnbxIoAaQoPuL9ge\\n5.7.14 BUgbiOqhTEPqJfb02d_L6rrdduHSxv26s_Ztg_JYYavkrqgs85IT1xZYwtbWIRE8OIvQKf\\n5.7.14 xxtT7ENlZTS0Xyqnc1u4_MOrBVW8pgyNyeEgKKnKNyxce76JrsdnE1JgSQzr3pr47bL-kC\\n5.7.14 XifnWXg> Please log in via your web browser and then try again.\\n5.7.14 Learn more at\\n5.7.14 https://support.google.com/mail/bin/answer.py?answer=78754 fl15sm17237099pdb.92 - gsmtp\')    

回答1:


Your code looks correct. Try logging in through your browser and if you are able to access your account come back and try your code again. Just make sure that you have typed your username and password correct

EDIT: Google blocks sign-in attempts from apps which do not use modern security standards (mentioned on their support page). You can however, turn on/off this safety feature by going to the link below:

Go to this link and select Turn On
https://www.google.com/settings/security/lesssecureapps




回答2:


Your code looks correct but sometimes google block an ip when you try to send a email since a unusual location, so, you can unblock in the next link

https://support.google.com/accounts/answer/6009563 and clicked in accounts.google.com/DisplayUnlockCaptcha .




回答3:


I have just sent an email with gmail through Python. Try to use smtplib.SMTP_SSL to make the connection. Also, you may try to change the gmail domain and port.

So, you may get a chance with:

server = smtplib.SMTP_SSL('smtp.googlemail.com', 465)
server.login(gmail_user, password)
server.sendmail(gmail_user, TO, BODY)

As a plus, you could check the email builtin module. In this way, you can improve the readability of you your code and handle emails headers easily.



来源:https://stackoverflow.com/questions/26852128/smtpauthenticationerror-when-sending-mail-using-gmail-and-python

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!