现在公司用的是 office365 的邮箱,有需要自动发邮件的需求,发现了一个还不错的库,写了个小demo,主要是smtp的配置注意下
安装方式 pip install emails
import emails
from emails.template import JinjaTemplate as T
USERNAME = 'xxx'
PASSWORD = 'xxx'
smtp_conf = {'host': 'smtp.office365.com',
'user': USERNAME,
'password': PASSWORD,
'port': 587,
'tls': True}
def send_email():
message = emails.html(subject=T('测试邮件'),
html=T('<p>详情见附件<br><br>'),
mail_from=('auto-reporter', USERNAME))
message.attach(data=open('readme.md', 'r'), filename="readme.txt")
r = message.send(to=('Orangleliu', USERNAME), smtp=smtp_conf)
print(r)
def office365():
import smtplib
mailserver = smtplib.SMTP('smtp.office365.com', 587)
mailserver.ehlo()
mailserver.starttls()
mailserver.login(USERNAME, PASSWORD)
mailserver.sendmail(USERNAME, USERNAME, 'python email')
mailserver.quit()
if __name__ == "__main__":
send_email()
上面是emails库,下面是标准库,主要注意下 smtp的配置就好了。