我今天已经花了几个小时试图在工作中诊断这个问题……基本上,我创建了一个数据管道,该管道在每次运行结束时发送摘要报告。现在已经运行好几个星期了。突然,它今天停止运行。特别是,它给出以下消息:
“ smtplib.SMTPNotSupportedError:服务器不支持STARTTLS扩展。”
使用office365,我必须使用某种tls身份验证。我尝试了来自不同教程的多种变体,以及有关此问题的堆栈溢出的其他建议。更奇怪的是,我可以从另一台计算机成功发送带有代码的电子邮件。但是,一旦复制/粘贴代码,我就会得到相同的
“ smtplib.SMTPNotSupportedError:服务器不支持STARTTLS扩展。”
错误。我尝试过重新安装smtplib,但由于它是内置模块,所以不会让我失望。这里的任何建议将不胜感激!
我已经尝试在多台计算机上进行故障排除,并且已经成功运行。我唯一能想到的是它是否与网络有关?
import smtplib
sendto = '####'
user= '####'
password = "####"
smtpsrv = "smtp.office365.com"
smtpserver = smtplib.SMTP(smtpsrv)
smtpserver.starttls()
smtpserver.login(user, password)
header = 'To:' + sendto + 'n' + 'From: ' + user + 'n' + 'Subject:testing n'
print(header)
msgbody = header + 'n This is a test Email send using Python nn'
smtpserver.sendmail(user, sendto, msgbody)
print('done!')
smtpserver.close()
"C:\Users\bstephan\Desktop\Data Pipeline\project files\source\venv\Scripts\python.exe" "C:/Users/bstephan/Desktop/Data Pipeline/project files/source/tester.py"
Traceback (most recent call last):
File "C:/Users/bstephan/Desktop/Data Pipeline/project files/source/tester.py", line 10, in <module>
smtpserver.starttls()
File "C:\Users\bstephan\AppData\Local\Continuum\anaconda3\lib\smtplib.py", line 752, in starttls
"STARTTLS extension not supported by server.")
smtplib.SMTPNotSupportedError: STARTTLS extension not supported by server.
Process finished with exit code 1