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

时间:2015-03-30 16:49:31

标签: python email smtplib

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

4 个答案:

答案 0 :(得分:9)

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

查找字段"访问不太安全的应用"。 将其设置为"允许"。

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

答案 1 :(得分:0)

没有那么安全的选择对我有用。最后的工作是设置2要素身份验证,然后生成特定于应用程序的密码。这里的说明:https://support.google.com/domains/answer/9437157

答案 2 :(得分:-1)

(534,b' 5.7.14请通过网络浏览器和\ n5.7.14登录,然后重试。\ n5.7.14了解更多信息,请访问\ n5.7.14 https://support.google.com/mail/answer/78754 h16sm7090987wrc.89 - gsmtp& #39)

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

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

答案 3 :(得分:-1)

我有完全相同的问题。是的,它奏效了。通过启用您的Gmail帐户安全设置 - >允许安全性较低的应用,我能够发送简单的电子邮件 从一个Gmail到另一个Gmail帐户。

警告:谷歌不建议允许访问您Google帐户的应用程序的安全性较低。它可能是一种安全威胁。实验结束后将其关闭。