使用 gmail 和 python 发送邮件时出现 SMTPAuthenticationError [重复]
- 2025-03-20 08:48:00
- admin 原创
- 41
问题描述:
当我尝试使用 gmail 发送邮件时,出现了 python 错误,这种问题已经在这个网站上出现过,但对我没有帮助
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 = '
'.join(['To: %s' % TO,
'From: %s' % gmail_user,
'Subject: %s' % SUBJECT,
'', TEXT])
server.sendmail(gmail_user, [TO], BODY)
print ('email sent')
错误:
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
5.7.14 Li2yir27TqbRfvc02CzPqZoCqope_OQbulDzFqL-msIfsxObCTQ7TpWnbxIoAaQoPuL9ge
5.7.14 BUgbiOqhTEPqJfb02d_L6rrdduHSxv26s_Ztg_JYYavkrqgs85IT1xZYwtbWIRE8OIvQKf
5.7.14 xxtT7ENlZTS0Xyqnc1u4_MOrBVW8pgyNyeEgKKnKNyxce76JrsdnE1JgSQzr3pr47bL-kC
5.7.14 XifnWXg> Please log in via your web browser and then try again.
5.7.14 Learn more at
5.7.14 https://support.google.com/mail/bin/answer.py?answer=78754 fl15sm17237099pdb.92 - gsmtp')
解决方案 1:
您的代码看起来正确。请尝试通过浏览器登录,如果您能够访问您的帐户,请返回并再次尝试您的代码。只需确保您输入的用户名和密码正确即可
编辑:Google 会阻止未使用现代安全标准的应用程序的登录尝试(在其支持页面上提到)。但是,您可以通过以下链接打开/关闭此安全功能:
转到此链接并选择打开
https://www.google.com/settings/security/lesssecureapps
解决方案 2:
您的代码看起来正确,但有时当您尝试从不寻常的位置发送电子邮件时,Google 会阻止 IP。您可以尝试通过从 IP 访问https://accounts.google.com/DisplayUnlockCaptcha并按照提示操作来解除阻止。
参考:https ://support.google.com/accounts/answer/6009563
解决方案 3:
我刚刚通过 Python 使用 gmail 发送了一封电子邮件。尝试使用 smtplib.SMTP_SSL 建立连接。此外,您可以尝试更改 gmail 域和端口。
因此,您可能有机会:
server = smtplib.SMTP_SSL('smtp.googlemail.com', 465)
server.login(gmail_user, password)
server.sendmail(gmail_user, TO, BODY)
另外,您可以检查电子邮件内置模块。这样,您可以提高代码的可读性并轻松处理电子邮件标题。
相关推荐
热门文章
项目管理软件有哪些?
热门标签
曾咪二维码
扫码咨询,免费领取项目管理大礼包!
云禅道AD