Python 使用office365邮箱
一、概述
最近遇到一个需求,需要使用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 使用office365邮箱自动发送邮件
现在公司用的是 office365 的邮箱,有需要自动发邮件的需求,发现了一个还不错的库,写了个小demo,主要是smtp的配置注意下 安装方式 pip install emails import e ...
- python office365_Python 使用office365邮箱的示例
一.概述A2Q免费资源网 最近遇到一个需求,需要使用office365邮箱发送邮件,使用SSL发送会失败,必须使用TLS加密协议才能发送成功.A2Q免费资源网 二.完整代码A2Q免费资源网 使用类封装 ...
- [10月4日的脚本] 获取Office365邮箱文件夹的权限
脚本下载: GetO365MailboxFolderPermission.ziphttp://gallery.technet.microsoft.com/scriptcenter/Script-to- ...
- 使用Python读取网易邮箱大师客户端的所有邮件
文章目录 1. 前言 2. 效果 3. 探究过程 3.1. 找到本地存储的数据库 3.2. 使用Python读取数据库 3.2.1. 代码 4. 探究结果 4.1. 函数 4.1.1. 找到特定邮~箱 ...
- 使用Python登录QQ邮箱发送QQ邮件
这真是黑科技啊,原来推送的广告邮件就是这样产生的.好人用来发节日贺卡,给女朋友纪念邮件:坏人会学着发广告,垃圾邮件.我希望大家能学会了做些有趣的有意义的事情. 今天我带大家实现下简单的发邮件功能.我们 ...
- Python之Email邮箱账号抓取
Python之Email邮箱账号抓取
- python发送邮件群发_Python发邮件脚本,Python调用163邮箱SMTP服务实现邮件群发
邮件营销,一个昔日辉煌,如今没落的广告营销方式,曾经的恶意广告邮件群发,到现在还存留着的大站协议群发,可能还是有不少人能够做到正常群发邮件,但大概率很多人都不会点开邮件查看邮件内容吧,除非是很许可的, ...
- 解决Outlook 无法添加 gmail 邮箱、office365邮箱问题,超级简单!
遇到此类问题查阅了许多资料,都无法解决.亲身经历,特此总结,以便后人乘凉. gmail邮箱添加office365 1.登陆Gmail邮箱,点击添加账号 2.选择Exchange和office365 3 ...
- 如何在MFP上使用Office365邮箱账号配置扫描到邮箱之Konica bizhub C226?
如何在MFP上使用Office365邮箱账号配置扫描到邮箱之Konica bizhub C226? ©Lander Zhang 专注外企按需IT基础架构运维服务,IT Helpdesk 实战培训践行者 ...
最新文章
- jquery autocomplete demo
- C++ 函数的模板的使用
- android.util.AndroidRuntimeException: requestFeature() must be called before adding content
- Sublime注释插件--DocBlockr
- go语言查询某个值是否在数组中_Go语言数组详解
- C#面试题汇总(未完成)
- 玩转GIT系列之【如何恢复windows系统下git的状态图标显示】
- 锁屏快捷键_全面屏 iPhone 锁屏快捷键美化,让你的 iPhone 更特别
- 数字图像处理--图像ROI
- 车联网发展对汽车经销商的影响
- 蔚来ES8停车场蛇形走位 连撞数车 官方回应:未证明是车辆失控
- python中如何调用类takes no arguments_关于python中的 take no arguments 的解决方法
- Atitit.index manager api design 索引管理api设计
- SQL Server2012安装教程
- git 学习指南 学习资料笔记
- Guns二次开发目录
- SpringCloud整合Sa-Token登录认证+Gateway网关拦截
- 聊聊iOS中TCP / UDP 协议
- iphone ios 视频采集AVCaptureSessionPresetHigh/Medium/Low分辨率等参数
- Unix Domain Socket
热门文章
- 苏州新导RFID仓储管理系统带领仓库领域走向智能化
- 废话中的极品废话 单反对焦系统全解析
- 新手如何组装一台电脑
- Android广播常用案例
- Linux自动化运维——LVS+Keepalived
- 基于树莓派的人脸识别解锁门锁设计
- 《Artificial intelligence in healthcare》综述论文阅读
- c语言选择结构程序设计报告,《C语言程序设计》实验报告选择结构程序设计.doc...
- 45.Cookie、Session、ServletContext数据共享
- oracle sys.dbms job,Oracle定时任务之Job和Dbms_job