从R和Python发送电子邮件:535 5.7.3身份验证失败

时间:2019-01-12 21:42:55

标签: python r email

我正在尝试通过办公室电子邮件发送电子邮件。去年夏天它工作了几个月,然后无故停止。我正在尝试R和Python(只是为了再次检查这不是特定于语言的问题),并且都无法使用简单的程序。

我已经尝试过R和Python程序。

R代码是:

library(mailR)
sender <- "<my MSoffice email>"
recipients <- c("<my MSoffice email>")
send.mail(from = sender,
      to = recipients,
      subject = "Example",
      body = "Example",
      authenticate = TRUE,
      smtp = list(host.name = "smtp.office365.com", port = 587, 
                  user.name = "<my MSOffice email>",            
                  passwd = "<my MSOffice password>", tls=TRUE))

Python代码是:

import smtplib
mailserver = smtplib.SMTP('smtp.office365.com',587)
mailserver.ehlo()
mailserver.starttls()
mailserver.login('<my MSOffice email>, '<my MSOffice password>')
mailserver.sendmail('<my MSOffice email>','<my MSOffice email>','python email')
mailserver.quit()

两个程序均失败,并显示“ 535 5.7.3身份验证失败”

1 个答案:

答案 0 :(得分:0)

对于python示例,在使用starttls时,我认为您需要在mailserver.ehlo()之后再次使用mailserver.starttls()

import smtplib
mailserver = smtplib.SMTP('smtp.office365.com',587)
mailserver.ehlo()
mailserver.starttls()
mailserver.ehlo()  #again
mailserver.login('<my MSOffice email>', '<my MSOffice password>')
mailserver.sendmail('<my MSOffice email>','<my MSOffice email>','python email')
mailserver.quit()