我正在尝试通过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的浏览器中进行了身份验证。
答案 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。