使用gmail和python发送邮件时出现SMTPAuthenticationError

2024-05-09 01:05:09 发布

您现在位置:Python中文网/ 问答频道 /正文

当我尝试使用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 = '\r\n'.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\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')    

Tags: totextcomserver错误pwdloginmail
3条回答

你的代码看起来是正确的。尝试通过浏览器登录,如果您能够访问您的帐户,请返回并重试代码。 只需确保输入的用户名和密码正确无误

编辑: Google阻止不使用现代安全标准的应用程序的登录尝试(在它们的支持中提到过)。但是,您可以转到以下链接来打开/关闭此安全功能:

转到此链接并选择打开
https://www.google.com/settings/security/lesssecureapps

我刚刚通过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)

另外,您还可以查看电子邮件内置模块。这样,您可以提高代码的可读性,并轻松处理电子邮件标题。

你的代码看起来是正确的,但有时谷歌会在你尝试发送电子邮件时屏蔽一个ip地址,因此,你可以在下一个链接中解锁

https://support.google.com/accounts/answer/6009563并在accounts.google.com/DisplayUnlockCaptcha中单击。

相关问题 更多 >

    热门问题