我无法通过python在gmail上进行身份验证

时间:2016-02-16 07:31:36

标签: python email python-3.x gmail

我正在尝试通过Gmail发送电子邮件:

  msg = MIMEMultipart()
  msg["From"] = "to@fdsfds.com"
  msg["To"] = ", ".join(recipients_array)
  msg["Subject"] = subject
  msg.attach(MIMEText(msg_body))


  # server = smtplib.SMTP("smtp.gmail.com", 587)
  server.ehlo()
  server.starttls()
  server.ehlo()
  server.login(my_gmail_address, my_gmail_password) # error here

  server.sendmail(my_gmail_address, recipients, msg.as_string())
  server.close()

错误是:

Traceback (most recent call last):
    # .......
    raise SMTPAuthenticationError(code, resp)
smtplib.SMTPAuthenticationError: (534, b'5.7.14 <https://accounts.google.com/ContinueSignIn?sarp=1&scc=1&plt=AKgnsbuZg\n5.7.14 fsfdsfds-kK\n5.7.14 fdsfdsfds-CyIaJn4-TUONIr_gHn9\n5.7.14 gfdgfd-543543\n5.7.14 aaaa> Please log in via your web browser and\n5.7.14 then try again.\n5.7.14  Learn more at\n5.7.14  https://support.google.com/mail/answer/78754 d8sm43303847pas.14 - gsmtp')

我在gmail的浏览器中进行了身份验证。

2 个答案:

答案 0 :(得分:1)

正如here所述,您可能需要更改安全设置,以便为安全性较低的应用启用访问权限。

转到https://www.google.com/settings/security/lesssecureapps打开对安全性较低的应用的访问权限。

如果这不能解决问题,您应该阅读traceback的错误消息中引用的信息:https://support.google.com/mail/answer/78754

答案 1 :(得分:0)

这很可能是像mhawke建议的身份验证问题。

有关常见错误的列表以及更方便的库,请查看yagmail

语法看起来像:

"t"
    "L"
        "LL"
            <nil>,<nil>
        ,"LR"
            <nil>,<nil>

    ,"R"
        <nil>,<nil>

完全披露:我开发了yagmail。