【发布时间】:2019-10-08 02:16:46
【问题描述】:
我正在尝试通过 Python 从我的 Office 365 企业帐户向另一个 Office 365 企业帐户发送电子邮件。目标是在脚本成功运行后发送电子邮件。
我检查了电子邮件 ID 和密码,但似乎无法找出问题所在。
import smtplib
message = "Execution Successful"
mailserver = smtplib.SMTP('smtp.office365.com',587)
mailserver.ehlo()
mailserver.starttls()
mailserver.login('userid@corporateemail.com', 'password')
mailserver.sendmail('userid@corporateemail.com', 'userid@corporateemail.com', message)
mailserver.quit()
这应该会触发给用户的电子邮件。但是,它会给出错误消息。 这是输出:
Traceback (most recent call last):
File "<ipython-input-45-663ff7ed4e61>", line 1, in <module>
runfile('C:/Users/qy115/Desktop/Updated Python/Test/EmailTest.py', wdir='C:/Users/qy115/Desktop/Updated Python/Test')
File "C:\Software\Eng_APPS\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 866, in runfile
execfile(filename, namespace)
File "C:\Software\Eng_APPS\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)
File "C:/Users/qy115/Desktop/Updated Python/Test/EmailTest.py", line 20, in <module>
mailserver.starttls()
File "C:\Software\Eng_APPS\Anaconda3\lib\smtplib.py", line 752, in starttls
(resp, reply) = self.docmd("STARTTLS")
File "C:\Software\Eng_APPS\Anaconda3\lib\smtplib.py", line 420, in docmd
return self.getreply()
File "C:\Software\Eng_APPS\Anaconda3\lib\smtplib.py", line 390, in getreply
+ str(e))
SMTPServerDisconnected: Connection unexpectedly closed: [WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
【问题讨论】:
-
错误类型是什么?
-
回溯似乎不完整。
-
@HenryYik 抱歉,我已编辑问题以添加缺少的错误消息。
-
如果您无法解决问题,请查看 win32com.client。我完美地做到了你所描述的。
-
@MichaelButscher 我已经添加了缺失的部分。很抱歉之前错过了。
标签: python outlook office365 email