python自动化发送邮件实例讲解


Posted in Python onJanuary 04, 2021

在python中,通过如下两个模块可以实现邮件的自动化操作

  1. smtplib
  2. email

smtplib模块是对SMTP协议的封装,用于发送邮件;email模块用于构建邮件内容,支持以下3种形式的邮件

  1. 纯文本
  2. html
  3. 带附件

首先来看下邮件的构建,对于一封邮件,需要指定发件人,收件人,主题,正文等内容,以最简单的纯文本邮件为例,构建方式如下

>>> from email.mime.text import MIMEText
>>> from email.header import Header
>>> subject = '主题'
>>> message = MIMEText('正文', 'plain', 'utf-8')
>>> message['From'] = Header("发件人", 'utf-8')
>>> message['To'] = Header("收件人", 'utf-8')
>>> message['Subject'] = Header(subject, 'utf-8')

通过MIMEText方法来创建邮件,第一个参数为邮件的正文,第二个参数为邮件正文的形式,plain表示纯文本,第三个参数指定编码方式;然后通过From, To, Subject等属性的设置来分别指定发件人,收件人和主题。

对于html形式的邮件,只需要指定MIMEText的第二个参数为html即可,用法如下

>>> msg = '<p>正文</p>'
>>> message = MIMEText(msg, 'html', 'utf-8')

对于带附件的邮件,需要通过MIMEMultipart来创建邮件,用法如下

>>> from email.mime.multipart import MIMEMultipart
>>> message = MIMEMultipart()
>>> message.attach(MIMEText('正文', 'plain', 'utf-8'))
>>> attach = MIMEText(open('input.txt', 'rb').read(), 'base64', 'utf-8')
>>> attach["Content-Type"] = 'application/octet-stream'
>>> attach["Content-Disposition"] = 'attachment; filename="test.txt"'
>>> message.attach(attach)

创建好邮件之后,就可以通过SMTP来发送了,这里以QQ邮箱为例,首先需要开启QQ邮箱的SMTP服务器,然后生成授权码,图示如下

python自动化发送邮件实例讲解

用QQ邮箱发送邮件的代码如下

>>> import smtplib
>>> from email.mime.text import MIMEText
>>> from email.header import Header
>>> message = MIMEText('正文', 'plain', 'utf-8')
>>> message['From'] = Header("发件人", 'utf-8')
>>> message['To'] = Header("收件人", 'utf-8')
>>> message['Subject'] = Header('主题', 'utf-8')
>>> server=smtplib.SMTP_SSL("smtp.qq.com", 465)
>>> server.login('xxxxxxxx@qq.com', 'dvyybvbwpnnbbdaj')
>>> server.sendmail('xxxxxxxx@qq.com', 'xxxxxxxx@qq.com' , message.as_string())

对于需要定期发送,且内容较为固定的邮件,通过自动化可以大大减少工作量,比如通过python监控磁盘空间,当使用率超过80%时,自动向运维人员发送邮件,以提醒备份和清理磁盘。

到此这篇关于python自动化发送邮件实例讲解的文章就介绍到这了,更多相关使用python自动化发送邮件内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python实现的一个自动售饮料程序代码分享
Aug 25 Python
遍历python字典几种方法总结(推荐)
Sep 11 Python
Python视频爬虫实现下载头条视频功能示例
May 07 Python
Python实现的多进程和多线程功能示例
May 29 Python
Python实现的从右到左字符串替换方法示例
Jul 06 Python
python 字典中取值的两种方法小结
Aug 02 Python
在Mac上删除自己安装的Python方法
Oct 29 Python
在python中利用KNN实现对iris进行分类的方法
Dec 11 Python
解决Pycharm 包已经下载,但是运行代码提示找不到模块的问题
Aug 31 Python
python图形用户接口实例详解
Dec 16 Python
pytorch Dropout过拟合的操作
May 27 Python
python中pandas对多列进行分组统计的实现
Jun 18 Python
Python Selenium库的基本使用教程
Jan 04 #Python
selenium学习教程之定位以及切换frame(iframe)
Jan 04 #Python
python自动打开浏览器下载zip并提取内容写入excel
Jan 04 #Python
python Scrapy框架原理解析
Jan 04 #Python
如何用 Python 处理不平衡数据集
Jan 04 #Python
Python创建简单的神经网络实例讲解
Jan 04 #Python
python实现跨年表白神器--你值得拥有
Jan 04 #Python
You might like
PHP 事件机制(2)
2011/03/23 PHP
php获取后台Job管理的实现代码
2011/06/10 PHP
用PHP读取超大文件的实例代码
2012/04/01 PHP
PHP答题类应用接口实例
2015/02/09 PHP
php实现图片按比例截取的方法
2017/02/06 PHP
在thinkphp5.0路径中实现去除index.php的方式
2019/10/16 PHP
锋利的jQuery 要点归纳(一) jQuery选择器
2010/03/21 Javascript
jQuery 快速结束当前正在执行的动画
2013/11/20 Javascript
jquery中each遍历对象和数组示例
2014/08/05 Javascript
JS获取网页图片name属性的方法
2015/04/01 Javascript
跟我学习javascript的函数和函数表达式
2015/11/16 Javascript
JS获取子窗口中返回的数据实现方法
2016/05/28 Javascript
JS解决iframe之间通信和自适应高度的问题
2016/08/24 Javascript
js 弹出虚拟键盘修改密码的简单实例
2016/10/10 Javascript
Bootstrap如何激活导航状态
2017/03/22 Javascript
JS简单实现数组去重的方法示例
2017/03/27 Javascript
Vue 2.0中生命周期与钩子函数的一些理解
2017/05/09 Javascript
Node.JS更改Windows注册表Regedit的方法小结
2017/08/18 Javascript
通过实例了解Render Props回调地狱解决方案
2020/11/04 Javascript
浅析JavaScript中的事件委托机制跟深浅拷贝
2021/01/20 Javascript
简单介绍Python中用于求最小值的min()方法
2015/05/15 Python
详解Python编程中包的概念与管理
2015/10/16 Python
python验证码识别的实例详解
2016/09/09 Python
python实现简易内存监控
2018/06/21 Python
python求最大值,不使用内置函数的实现方法
2019/07/09 Python
Python多叉树的构造及取出节点数据(treelib)的方法
2019/08/09 Python
Python产生一个数值范围内的不重复的随机数的实现方法
2019/08/21 Python
python 利用jinja2模板生成html代码实例
2019/10/10 Python
python实现简单日志记录库glog的使用
2019/12/13 Python
Python 窗体(tkinter)下拉列表框(Combobox)实例
2020/03/04 Python
Python实现JS解密并爬取某音漫客网站
2020/10/23 Python
荷兰皇家航空公司中国官网:KLM中国
2017/12/13 全球购物
Agoda中文官网:安可达(低价预订全球酒店)
2021/01/18 全球购物
2014企业领导班子四风对照检查材料思想汇报
2014/09/17 职场文书
社区党员群众路线教育实践活动心得体会
2014/11/03 职场文书
商务邀请函
2015/01/30 职场文书