我正在尝试通过办公室电子邮件发送电子邮件。去年夏天它工作了几个月,然后无故停止。我正在尝试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身份验证失败”
答案 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()