【发布时间】:2015-08-13 11:38:34
【问题描述】:
我正在尝试用 python 发送一封简单的邮件
import smtplib
server = smtplib.SMTP('smtp.gmail.com', 587)
server.ehlo()
server.starttls()
server.login("mymail@gmail.com", "mypassword")
msg = "Hello world"
server.sendmail("mymail@gmail.com", "mymail@gmail.com", msg)
server.quit()
但我得到了这个错误:
server.login("user@gmail.com", "psw")
File "C:\Python\lib\smtplib.py", line 652, in login
raise SMTPAuthenticationError(code, resp)
smtplib.SMTPAuthenticationError: (534, b'5.7.14 <https://accounts.google.com/ContinueSignIn?sarp=1&scc=1&plt=AKgnsbuxb\n5.7.14 4i2u8qU8V3jgf6uGv8da1RAGPJyctRvIFy_kjai6aKVx_B6qVhoz_dzFpvfPC18H-jeM6K\n5.7.14 cnm2HVuq-wr-uw59hD31ms-cxMmnZuq6Z3_liDaDmu8_UqaiUwR4FUiuX2i5pPdQjJzFvv\n5.7.14 4VrEF5XT4ol2iN17gnB_jITpwzsjH9Ox3NCNcfl7SriHr5m7esc15PWI0CG_2CTlyh7RxW\n5.7.14 XhoJPajs8GMd-khOQWUqucywfrfo> 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/bin/answer.py?answer=78754 ef10sm13614207wjd.49 - gsmtp')
我该怎么办?
谢谢
【问题讨论】:
-
@Yura,非常抱歉,但当我尝试登录您的主服务器(使用错误消息中显示的数据)时,系统会要求我验证是您本人。所以,你有两个因素的授权。再次,请您原谅我这样做。您绝对应该从这里删除您的登录名和密码。
-
@Yura,这意味着,您应该以某种方式处理双因素身份验证。要么禁用此功能,要么深入研究其中的一些文档并使用一些 API(如果 Google 提供)。
-
他们在互联网上有很多教程,引用堆栈溢出指南,“展示你自己的研究”。
-
你需要花更多的时间在你的拼写上,你可能会因此被禁止。 (这并不难!)几乎每个句子都有一个错字。为了您(被禁止)和我们的缘故,请编辑您的 cmets 的拼写。
标签: python python-3.x gmail