【发布时间】:2015-06-03 19:11:40
【问题描述】:
我尝试使用 smtp 模块发送电子邮件,但出现错误:
File "/usr/lib/python2.7/smtplib.py", in login
raise SMTPAuthenticationError(code, resp) smtplib.SMTPAuthenticationError: (534, '5.7.14)...
有人已经有这个错误了吗?你知道怎么解决吗?
代码:
def sendNotification():
recepients_list = "emailsmtplibtest@gmail.com"
subject = 'Subject'
message = "Message"
sendemail(recepients_list,subject,message)
def sendemail(to_addr_list, subject, message):
username = 'emailsmtplibtest@gmail.com'
password = 'passtest'
from_addr = 'emailsmtplibtest@gmail.com'
server = smtplib.SMTP('smtp.gmail.com', 587)
server.ehlo()
server.starttls()
server.login(username,password)
newmessage = '\r\n'.join([
'To: %s' %recepient_list,
'From: %s' % from_addr,
'Subject: %s' %subject,
'',
message
])
try:
server.sendemail(from_addr, to_addr_list,newmessage)
print 'notification sent'
except:
print 'error sending notification'
server.quit()
sendNotification()
【问题讨论】:
-
如果我不得不猜测,那将是某种 TLS/SSL 问题。你走这条路了吗?
-
您可以尝试禁用 CAPTCHA 或在您的 gmail 帐户中注册应用程序专用密码:joequery.me/guides/python-smtp-authenticationerror
-
感谢您的提示,但仍然无效!
-
我认为这不会导致您报告的特定错误,但您的代码中存在拼写错误。我认为您应该调用 server.sendmail(),而不是 server.sendemail()(注意“邮件”之前的“e”)。另一方面,我只是尝试使用 smtplib 通过 gmail 发送邮件,其步骤与您列出的步骤基本相同,它对我有用。我仍然认为问题出在您的 Google 帐户的安全设置上。
标签: python email gmail smtplib smtp-auth