smtplib 使用正确的 office 365 凭据超时

smtplib timing out with correct credentials for office 365

我正在创建一个 python 脚本,它使用我们公司的 office 365 电子邮件域来发送电子邮件。

但是,我无法建立连接。

import smtplib

mailserver = smtplib.SMTP('smtp.office365.com',535, timeout=120)
mailserver.ehlo()
mailserver.starttls()
mailserver.login('user@company.com','Password')
mailserver.sendmail('another.user@company.com')
mailserver.quit()

我得到的错误是:

TimeoutError: [WinError 10060]连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机没有响应

我完全不知道我哪里出错了。查看文档后,我的代码看起来很完美。

非常感谢任何意见!

我找到了其他人的答案。

我只需要在我的 O365 电子邮件上启用 SMTP:https://docs.microsoft.com/en-us/exchange/clients-and-mobile-in-exchange-online/authenticated-client-smtp-submission#:~:text=Open%20the%20Microsoft%20365%20admin,%3D%20disabled%2C%20checked%20%3D%20enabled

幸运的是我在这里有管理员权限,但如果你不能,你可能需要联系你的 office 365 管理员