smtplib.SMTPAuthenticationError:(535,' 5.7.3身份验证失败')

时间:2016-07-27 02:21:47

标签: python-2.7 smtplib

我正在尝试使用smtplib在python 2.7中发送邮件。以下代码非常简单:

import smtplib

def main(argv=None):

    sender = 'abc@gmail.com'
    receivers = ['xyz@gmail.com']      

    message = """
    This is a test e-mail message.
    """

    smtpObj = smtplib.SMTP('xyz@gmail.com',25)

    smtpObj.login('abc', 'pwd')       
    smtpObj.sendmail(sender, receivers, message)         
    print "Successfully sent email"


if __name__ == '__main__':
main()

现在,当我执行以下代码时,我不断收到此异常:

smtplib.SMTPAuthenticationError:(535,' 5.7.3身份验证失败')。

请告知。

谢谢,

6 个答案:

答案 0 :(得分:8)

实际上,当我尝试在python控制台上执行相同的语句时,我发现密码不正确,这是由于不同的字符编码。

对于所有其他用户,请不要复制粘贴

two muppets

答案 1 :(得分:1)

有同样的问题。

2个选项,

尝试改变:

smtpObj = smtplib.SMTP('xyz@gmail.com',25)

为:

smtpObj = smtplib.SMTP('xyz@gmail.com',587)

其他选项是您的登录不正确。在我的情况下,我使用交换和登录名称不是电子邮件地址,而只是用户名

以下是用于交换服务器的代码:

import smtplib

def sendmail():
    subject = 'message subject'
    to = 'mail@yourdomain.com'
    sender = 'bjorn@***.nl'
    smtpserver = smtplib.SMTP("mail.mymailserver.nl",587)
    user = 'myussername'
    password = 'mypassword'
    smtpserver.ehlo()
    smtpserver.starttls()
    smtpserver.ehlo
    smtpserver.login(user, password)
    header = 'To:' + to + '\n' + 'From: ' + sender + '\n' + 'Subject:' + subject + '\n'
    message = header + '\n This is my message'
    smtpserver.sendmail(sender, to, message)
    smtpserver.close()

答案 2 :(得分:0)

此问题的原因是该密码应该是客户端授权代码,而不是邮箱的登录密码。

答案 3 :(得分:0)

如果您再次检查凭据,则问题出在Gmail上。 您可以按照以下步骤解决它:

1。启用IMAP和/或POP3:

 1. Go to the "Settings", e.g. click on the "Gears" icon and select
    "Settings".
 2. Click on "Forwarding and POP/IMAP".
 3. Enable "IMAP Access" and/or "POP Download"
  1. 允许不太安全的应用登录Gmail。
 1. Login with your gmail account and find "Allow less secure apps:"
    from [Here][1]
 2. Google manages security with your gmail account. You need to turn on "Allow 
      less secure apps:" and you will receive mail in your gmail account.
      [1]: https://myaccount.google.com/security#activity

答案 4 :(得分:0)

低安全性方法是暂时的,我无法在生产中使用它,但是我发现了一篇文章,该文章使使用OAuth对GMail here进行身份验证变得更加容易 带有示例代码,效果很好。

答案 5 :(得分:0)

您也可以尝试将端口从 587 更改为 25。这对我有用。