我上个月成功使用以下代码连接到Exchange服务器并通过Exchange服务器发送邮件。我使用的是python 3.5。
import smtplib
# ...
s=smtplib.SMTP('outlook.office365.com', 587)
s.starttls()
s.login(user, pwd)
今天,它给了我
smtplib.SMTPAuthenticationError: (500, b'5.3.3 Unrecognized command')
我看到了相关的错误报告here,但无法弄清楚这对我有何帮助。
我做错了什么?
答案 0 :(得分:3)
这是python 3.5.0中引入的一个错误:https://bugs.python.org/issue25446,这应该在python 3.5.1中修复。 (我还没试过这个,因为我在研究这个bug的时候偶然发现了这个问题)
编辑:刚刚测试过,smtplib + python 3.5.1 + office365工作
答案 1 :(得分:0)
您可能想查看的其他内容。仔细检查您的用户名和密码是否正确输入。在python 3.5中,显示的错误不会明确告诉您您的用户名不正确,您只会看到
smtplib.SMTPAuthenticationError: (500, b'5.3.3 Unrecognized command')
对于两个不正确的凭据,如果不允许使用gmail安全性较低的应用程序(与python 3.6不同,您会看到
),smtplib.SMTPAuthenticationError: (535, b'5.7.8 Username and Password not accepted. Learn more at\n5.7.8 https
ials m11-v6sm24489408pfj.25 - gsmtp')
如果您的凭据不正确。