发送电子邮件时出错:引发 SMTPAuthenticationError(code, resp)

新手上路,请多包涵

我正在尝试使用 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()

原文由 UserX 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 645
2 个回答

转到 Google 的帐户安全设置: www.google.com/settings/security

找到“访问安全性较低的应用程序”字段。将其设置为“允许”。

再次尝试您的脚本,将 server.sendemail() 更改为 server.sendmail()

原文由 Joe Young 发布,翻译遵循 CC BY-SA 3.0 许可协议

(534,b’5.7.14 请通过网络浏览器登录,\n5.7.14 然后重试。\n5.7.14 了解详情\n5.7.14 https://support.google.com/mail/answer/78754 h16sm7090987wrc.89 - gsmtp’)

试试 https://myaccount.google.com/security#connectedapps

允许安全性较低的应用程序:开某些应用程序和设备使用安全性较低的登录技术,这可能会使您的帐户容易受到攻击。您可以关闭对这些应用程序的访问权限(我们建议这样做),或者不顾风险选择使用它们。

原文由 xiyu liu 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题