我试图用Python发送电子邮件
使用此代码使用gmail时没有问题:
import smtplib
sender = 'xxx@xxx'
receivers = ['xxx@gmail.com']
message = "hello"
try:
smtpObj = smtplib.SMTP('smtp.gmail.com:587')
smtpObj.starttls()
smtpObj.login('xxxx@gmail.com', 'my_password')
smtpObj.sendmail(sender, receivers, message)
smtpObj.quit()
print("okay")
except:
print("notokay")
但是当我在Office 365中使用它时,电子邮件会被发送,但邮件是空的。
它是相同的代码,但使用' smtp.office365.com:587'用我正确的登录名和密码。
答案 0 :(得分:0)
import smtplib
from email.mime.text import MIMEText
msg = MIMEText('hello')
msg['Subject'] = 'Urgent message'
msg['From'] = 'xxx@xxx'
msg['To'] = 'xxx@gmail.com'
s = smtplib.SMTP('smtp.gmail.com:587')
s.starttls()
s.login('xxx@gmail.com', 'my_password')
s.sendmail('xxx@xxx', 'xxx@gmail.com', msg.as_string())
s.quit()
尝试以下操作,可能是因为您需要创建一个MIMEText上下文,以便Office365接受格式化。