Python 使用office365邮箱的示例
程序员文章站
2022-06-22 11:24:38
一、概述最近遇到一个需求,需要使用office365邮箱发送邮件,使用ssl发送会失败,必须使用tls加密协议才能发送成功。二、完整代码使用类封装了一下,功能如下:1. 支持附件2. 支持多个发件人3...
一、概述
最近遇到一个需求,需要使用office365邮箱发送邮件,使用ssl发送会失败,必须使用tls加密协议才能发送成功。
二、完整代码
使用类封装了一下,功能如下:
1. 支持附件
2. 支持多个发件人
3. 执行tls
mailtools.py
#!/usr/bin/env python3 # coding: utf-8 import smtplib # 加载smtplib模块 from email.mime.text import mimetext from email.utils import formataddr from email.mime.multipart import mimemultipart from email.mime.application import mimeapplication import time class sendmail(object): def __init__(self,sender,title,content): self.sender = sender #发送地址 self.title = title # 标题 self.content = content # 发送内容 self.sys_sender = 'xx@office365.com' # 系统账户 self.sys_pwd = '123456' # 系统账户密码 def send(self,file_list): """ 发送邮件 :param file_list: 附件文件列表 :return: bool """ try: # 创建一个带附件的实例 msg = mimemultipart() # 发件人格式 msg['from'] = formataddr(["", self.sys_sender]) # 收件人格式 msg['to'] = formataddr(["", self.sender]) # 邮件主题 msg['subject'] = self.title # 邮件正文内容 msg.attach(mimetext(self.content, 'plain', 'utf-8')) # 多个附件 for file_name in file_list: print("file_name",file_name) # 构造附件 xlsxpart = mimeapplication(open(file_name, 'rb').read()) # filename表示邮件中显示的附件名 xlsxpart.add_header('content-disposition','attachment',filename = '%s'%file_name) msg.attach(xlsxpart) # smtp服务器 server = smtplib.smtp("smtp.office365.com", 587,timeout=10) server.ehlo() server.starttls() # 登录账户 server.login(self.sys_sender, self.sys_pwd) # 发送邮件 server.sendmail(self.sys_sender, [self.sender, ], msg.as_string()) # 退出账户 server.quit() return true except exception as e: print(e) return false if __name__ == '__main__': # 发送地址 sender = "12345678@qq.com" # 标题 title = "测试告警" # 开始时间 start_time = time.strftime('%y-%m-%d %h:%m:%s') ip = "xx.xx.xx.xx" # 发送内容 content = "{} ip: {} 掉线".format(start_time,ip) # 附件列表 file_list = [] ret = sendmail(sender, title, content).send(file_list) print(ret,type(ret))
注意:请根据实际情况,修改邮件账号和密码。
以上就是python 使用office365邮箱的示例的详细内容,更多关于python 使用office邮箱的资料请关注其它相关文章!
上一篇: MVC简介与三层架构
下一篇: 一个简单的python爬虫程序