SMTPAuthenticationError 5.7.14 Please log\n5.7.14 in via your web browser

前提是你 提交于 2019-12-08 00:12:24

问题


I have been struggling in finding a solution that can be applied to my case, as I viewed and reviewed many questions related to this issue. I have a script which sends periodically reports to a list of recipients. Everything worked fine until today 4 am, when I checked my inbox and the reports didn't come.

By debugging the code:

import smtplib
username="my.user.account@gmail.com"
password="my.correct.password"

server=smtplib.SMTP('smtp.gmail.com',587)
server.ehlo()
server.starttls() 
server.ehlo()
server.login(username,password)

#if login worked, it should send a message, but it is not working, so I will suppress this part

server.quit()

I receive the following (old known) result:

(250, b'smtp.gmail.com at your service, [SERVERIP]\nSIZE 35882577\n8BITMIME\nSTARTTLS\nENHANCEDSTATUSCODES\nPIPELINING\nCHUNKING\nSMTPUTF8') (220, b'2.0.0 Ready to start TLS') (250, b'smtp.gmail.com at your service, [SERVERIP]\nSIZE 35882577\n8BITMIME\nAUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH\nENHANCEDSTATUSCODES\nPIPELINING\nCHUNKING\nSMTPUTF8') Traceback (most recent call last): File "", line 6, in server.login(username,password) File "C:\Python\Python36\lib\smtplib.py", line 729, in login raise last_exception File "C:\Python\Python36\lib\smtplib.py", line 720, in login initial_response_ok=initial_response_ok) File "C:\Python\Python36\lib\smtplib.py", line 641, in auth raise SMTPAuthenticationError(code, resp) smtplib.SMTPAuthenticationError: (534, b'5.7.14 Please log\n5.7.14 in via your web browser and then try again.\n5.7.14 Learn more at\n5.7.14 https://support.google.com/mail/answer/78754 r131sm2964505vkr.40 - gsmtp')

Things I've tried

Allow less secure apps (as indicated in https://www.google.com/settings/security/lesssecureapps): This flag was set to true since I created the account Disable Captcha (as indicated in https://accounts.google.com/DisplayUnlockCaptcha): Visited this URL several times. No luck. Login via browser: It works fine, when logging via any Internet Browser from any computer, although in the first times I had to insert a code sent to the account's recovery phone.

I came across other things I could try, but I am not sure it could work:

  • Specific app passwords
  • Oauth2
  • Change or reset password

I will probably try oauth2, however it would require a change in my code, which I want to avoid due to some restrictions in the server. What really freaks me out is that it was working fine and suddenly stopped!

Any help will be very appreciated!


回答1:


I have solved this using the Google Gmail API. It seems Google has either blocked or limited logins for my account through unknown devices, as I could login only via the browser and after I confirmed the telephone number and an code sent by SMS.

So I decided to give up using smtplib and implemented the access using the API Google uses for Gmail: https://developers.google.com/api-client-library/python/ https://developers.google.com/gmail/api/guides/sending

Hope this helps other who had trouble with this issue.




回答2:


I had this issue as well. My mail forwarder script that has been working fine for 6+ months randomly started throwing this error:

534, b'5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbts\n5.7.14 y2ku2-8KrWsn_dAUhnkssuTuESwaeG-DNn9hWBpsSpJCmVL ZhH24jzJfd-5bHUdh993dJ7\n5.7.14 a5LsAOJrheyT0cRXIhMSbycqvMAC7sNrizO5qU_6iDescJcQa-QqUUCFVH7IZoWF9uXyrv\n5.7.14 HC9XzAW-pBwgUjV4i_ts8CNhB_yZf2JHOi-wl6gZ9jwAiYLWx DPe7epI> Please log\n5.7.14 in via your web browser and then try again.\n5.7.14 Learn more at\n5.7.14 https://support.google.com/mail/answer/78754 y5sm3059043 9pge.49 - gsmtp

After some research I tried all the following steps:

  • Checking allow low secure apps in Google settings (it was already on, tried turing it off and back on)
  • Trying the unlock captcha link: https://accounts.google.com/DisplayUnlockCaptcha
  • Singing in and out of Google account manually (verifying with phone number)
  • Changing the account password
  • Enabling and disabling 2FA
  • Countless other things...

Nothing seemed to actually work at first. However, after doing all the above steps, the script started working again ~24 hours later without any modifications.




回答3:


I recently got this problem. I've been using the same script for 3+ years and it suddenly stopped working. The above solutions didn't work for me. After contacting google here's what solved the issue (note it can take a few hours for the changes to propagate - up to 24 hours but usually not that long)

  • ALLOW low secure apps in Google settings (no effect on own but may be related to the full solution)

  • Try the unlock captcha link: https://accounts.google.com/DisplayUnlockCaptcha (no effect on its own but may be related to the full solution)

  • Admin Console > Apps > G Suite > Gmail > User Settings > Confidential Mode --> DISABLE Confidential Mode

  • Admin Console > Apps > G Suite > Gmail > End User Access --> TURN ON "Allow per-user outbound gateways"



来源:https://stackoverflow.com/questions/54657006/smtpauthenticationerror-5-7-14-please-log-n5-7-14-in-via-your-web-browser

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