2017-09-11 258 views
0

我想使用python从我的office365企业帐户发送电子邮件。我是python的新手。此代码以前在使用我的Hotmail帐户时工作过,但现在我需要发送机密信息,我必须使用我的公司电子邮件。如何使用tls/ssl使用python发送office365的SMTP电子邮件

我试了几件事。

  • 已验证,我的用户名和密码是正确的。
  • 同时使用python2和python3。双方给予同样的错误“535 5.7.3
    身份验证不成功”
  • 我以前使用mailserver.starttls()当我得到上述错误 ,然后经过一番研究,我试图通过一个
    证书。 mailserver.starttls(certFile中=“office365.cer”)

我对证书部分不清楚,但是我的步骤包括,网上找,找出如何导出证书。使用chrome浏览器,microsoftonline.com有一个链式证书。我可以导出根目录和根目录下的级别,但不是最后一级。我不知道如何传递这两个文件,所以我只是传递了根证书。在这一点上,我得到错误ssl.SSLError:[SSL] PEM库(_ssl.c:3309)

我被卡在这一点。任何帮助表示赞赏。使用 代码如下

import smtplib 

mailserver = smtplib.SMTP('smtp.office365.com',587) 
mailserver.ehlo() 
mailserver.starttls(certfile='office365.cer') 
mailserver.ehlo() 
mailserver.login('[email protected]', 'password') 
mailserver.sendmail('[email protected]','[email protected]','python email') 
mailserver.quit() 

回答

相关问题