登录凭据不能使用Gmail SMTP工作(Login credentials not working

2019-09-02 18:56发布

我试图在Python中发送一封电子邮件,通过Gmail。 这里是我的代码:

import smtplib


fromaddr = '......................'  
toaddrs  = '......................'  
msg = 'Spam email Test'  

username = '.......'  
password = '.......'

server = smtplib.SMTP('smtp.gmail.com', 587)  
server.ehlo()
server.starttls()
server.login(username, password)  
server.sendmail(fromaddr, toaddrs, msg)  
server.quit()

我得到的错误:

Traceback (most recent call last):
  File "email_send.py", line 18, in <module>
    server.login(username, password)
  File "C:\.....\Python\lib\smtplib.py", line 633
, in login
    raise SMTPAuthenticationError(code, resp)
smtplib.SMTPAuthenticationError: (535, b'5.7.8 Username and Password not accepte
d. Learn more at\n5.7.8 http://support.google.com/mail/bin/answer.py?answer=1425
7\n5.7.8 {BADCREDENTIALS} s10sm9426107qam.7 - gsmtp')

这似乎是与登录的问题。 我敢肯定,我的登录信息是正确的,除了一两件事。 如果用户名是“blah@gmail.com”,或简称“嗒嗒”? 我都尝试,同样的错误。

任何想法什么错?

注:所有的时间都代替密码/电子邮件/文件路径/等。

Answer 1:

我遇到了类似的问题,无意中发现了这个问题。 我得到了一个SMTP验证错误,但我的用户名/密码是正确的。 这里是固定的。 我这样说的:

https://support.google.com/accounts/answer/6010255

概括地说,谷歌是不会让您因为它已标记这种登录为“不太安全”的通过登录的smtplib中,所以你要做的就是去这个链接,而你在你的谷歌帐户登录,并允许访问:

https://www.google.com/settings/security/lesssecureapps

一旦设置(见下面我的截图),它应该工作。

现在登录的工作原理:

smtpserver = smtplib.SMTP("smtp.gmail.com", 587)
smtpserver.ehlo()
smtpserver.starttls()
smtpserver.ehlo()
smtpserver.login('me@gmail.com', 'me_pass')

变更后的反应:

(235, '2.7.0 Accepted')

响应之前:

smtplib.SMTPAuthenticationError: (535, '5.7.8 Username and Password not accepted. Learn more at\n5.7.8 http://support.google.com/mail/bin/answer.py?answer=14257 g66sm2224117qgf.37 - gsmtp')

还是行不通? 如果你仍然得到SMTPAuthenticationError但现在的代码是534,其因为位置是未知的。 请点击此链接:

https://accounts.google.com/DisplayUnlockCaptcha

点击继续,这应该给您注册新的应用程序10分钟。 因此,继续现在正在做另一登录尝试,它应该工作。

这似乎并没有马上工作,你可能会被卡住了,而获取此错误smptlib

235 == 'Authentication successful'
503 == 'Error: already authenticated'

有消息称,以使用浏览器登录:

SMTPAuthenticationError: (534, '5.7.9 Please log in with your web browser and then try again. Learn more at\n5.7.9 https://support.google.com/mail/bin/answer.py?answer=78754 qo11sm4014232igb.17 - gsmtp')

使“lesssecureapps”后,去喝杯咖啡,回来,并再次尝试“DisplayUnlockCaptcha”链接。 从用户体验,可能需要长达一个小时的变化来踢,然后再次尝试登录过程。

更新 ::请参阅我的答案在这里: 如何使用Python与Gmail发送电子邮件作为供应商?



Answer 2:

我遇到过同样的问题。 该验证错误可能是因为您的安全设置,两步验证的实例。 它不会允许第三方应用程序重写认证。

登录到您的谷歌帐户,并使用这些链接:

步骤1 [禁用两步骤验证的链接]:

https://myaccount.google.com/security?utm_source=OGB&utm_medium=act#signin

步骤2:[链接用于允许不够安全的应用]

https://myaccount.google.com/u/1/lesssecureapps?pli=1&pageId=none

现在应该都不错。



Answer 3:

如果你开启两步验证功能,你需要生成一个特殊的应用程序密码,而不是使用常见密码的。 https://myaccount.google.com/security#signin



Answer 4:

我有同样的问题。 和我一起创建一个应用程序密码在Mac上的电子邮件应用程序修复它。 你可以在我的帐户中找到它 - >安全 - >登录到谷歌 - >应用密码。 下面是相应链接。 https://myaccount.google.com/apppasswords?utm_source=google-account&utm_medium=web



文章来源: Login credentials not working with Gmail SMTP