Python一行代码实现自动发邮件功能


Posted in Python onMay 30, 2021

1. 用Python每天给女神发送舔狗问候

用Python自动发送最基本的邮件(主题+收件人)

知识点

邮件结构

以263企业邮为例

Python一行代码实现自动发邮件功能

邮件形式 内容
最基本 收件人+主题
最常用 收件人+主题+正文
一般流程申请邮件 收件人+主题+正文+抄送
发报表邮件 收件人+主题+抄送+附件
加说明报表邮件 收件人+主题+正文+抄送+附件

Python调用zmail模块

import zmail
zmail.server('danzhao@sunlands.com','password').send_mail('danzhao@sunlands.com',{'subject':'我是你的舔狗1号'})

把收件人改成女神

import zmail
zmail.server('danzhao@sunlands.com','password').send_mail([('女神','danzhao@sunlands.com')],{'subject':'我是你的舔狗1号'})

作业:把收件人外显名改成美国队长

可能会遇到的问题

确认密码没错仍然说密码不对: 可能需要开通对应的SMTP专用密码(授权码),例如QQ邮箱

Python一行代码实现自动发邮件功能

服务器无响应

部分比较特殊的邮件可能需要自行设置smtp服务器,一般是去找邮箱提供方,以263企业邮为例

这个时候需要写作如下代码

import zmail
zmail.server('danzhao@sunlands.com','password',smtp_host='smtp.263.net',smtp_port=25).send_mail('danzhao@sunlands.com',{'subject':'我是你的舔狗1号'})

扩展知识:api

例如舔狗语录API:https://api.uomg.com/api/rand.qinghua

import requests
import json
import zmail
response = requests.get('https://api.uomg.com/api/rand.qinghua')
tiangou = json.loads(response.text)['content']
zmail.server('danzhao@sunlands.com','password').send_mail('danzhao@sunlands.com',{'subject':tiangou})

2. 用Python发每日播报

用Python自动发送最常用的邮件(主题+收件人+正文+抄送)

import zmail
mail = dict(
	subject='今日数据情况',
	content_text='今日新录入名片100张,有效添加50张,添加率为50%'
)
zmail.server('danzhao@sunlands.com','password').send_mail('danzhao@sunlands.com',mail)

在此基础上,重点突出添加率

带格式的正文

import zmail
mail = dict(
	subject='今日数据情况',
	content_html='今日新录入名片100张,有效添加50张,添加率为<strong>50%</strong>'
)
zmail.server('danzhao@sunlands.com','password').send_mail('danzhao@sunlands.com',mail)

注:需要额外的HTML基础知识

如果有很多个收件人的时候

import zmail
mail = dict(
	subject='今日数据情况',
	content_text='今日新录入名片100张,有效添加50张,添加率为50%'
)
zmail.server('danzhao@sunlands.com','password').send_mail(['yupinze@sunlands.com','danzhao@sunlands.com'],mail)

可能还要抄送老大

import zmail
mail = dict(
	subject='今日数据情况',
	content_text='今日新录入名片100张,有效添加50张,添加率为50%'
)
zmail.server('danzhao@sunlands.com','password').send_mail('danzhao@sunlands.com',mail,cc='chenxiaomei@sunlands.com')

作业:给抄送人也改一个别名,改成天山大佬

3. 用Python发送每日报表

用Python自动发送最常用的邮件(主题+收件人+正文+附件)

import zmail
mail = dict(
	subject='今日数据情况',
	content_text='今日新录入名片100张,有效添加50张,添加率为50%.各组详情请见附件',
	attachments=r'E:\Onedrive\桌面\报表.xlsx'
)
zmail.server('danzhao@sunlands.com','password').send_mail('danzhao@sunlands.com',mail)

如果有多个附件,代码如下

import zmail
mail = dict(
	subject='今日数据情况',
	content_text='今日新录入名片100张,有效添加50张,添加率为50%.各组详情请见附件报表2',
	attachments=[r'E:\Onedrive\桌面\报表1.xlsx',r'E:\Onedrive\桌面\报表2.xlsx']
)
zmail.server('danzhao@sunlands.com','password').send_mail('danzhao@sunlands.com',mail)

作业:写一份完整的邮件代码,包含以下内容

多个收件人,收件人都外显为姓名
多个抄送人,也带上自己名字
多个附件,并在正文中注明附件作用
带格式的正文:附件名使用斜体,添加率使用加粗,领导名字使用红色加粗字体显示
主题变成一个自动带上当天日期的内容

总结

到此这篇关于Python一行代码实现自动发邮件功能的文章就介绍到这了,更多相关Python自动发邮件内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
详解Python使用simplejson模块解析JSON的方法
Mar 24 Python
Python中的id()函数指的什么
Oct 17 Python
Python BS4库的安装与使用详解
Aug 08 Python
Python访问MongoDB,并且转换成Dataframe的方法
Oct 15 Python
Python设计模式之原型模式实例详解
Jan 18 Python
网易有道2017内推编程题 洗牌(python)
Jun 19 Python
基于Django实现日志记录报错信息
Dec 17 Python
Pycharm及python安装详细步骤及PyCharm配置整理(推荐)
Jul 31 Python
Python 抓取数据存储到Redis中的操作
Jul 16 Python
python 写一个水果忍者游戏
Jan 13 Python
基于Python实现的购物商城管理系统
Apr 27 Python
Jupyter Notebook 如何修改字体和大小以及更改字体样式
Jun 03 Python
深入解析NumPy中的Broadcasting广播机制
python必学知识之文件操作(建议收藏)
Python使用Kubernetes API访问集群
如何利用pygame实现打飞机小游戏
Python中requests做接口测试的方法
python关于集合的知识案例详解
May 30 #Python
教你漂亮打印Pandas DataFrames和Series
You might like
配置Apache2.2+PHP5+CakePHP1.2+MySQL5运行环境
2009/04/25 PHP
通俗易懂的php防注入代码
2010/04/07 PHP
PHP中函数gzuncompress无法使用的解决方法
2017/03/02 PHP
完美的php分页类
2017/10/24 PHP
PHP判断是否是微信打开还是浏览器打开的方法
2019/02/27 PHP
发布BlueShow v1.0 图片浏览器(类似lightbox)blueshow.js 打包下载
2007/07/21 Javascript
javascript 触发事件列表 比较不错
2009/09/03 Javascript
更换select下拉菜单背景样式的实现代码
2011/12/20 Javascript
什么是DOM(Document Object Model)文档对象模型
2012/03/05 Javascript
JQUERY 设置SELECT选中项代码
2014/02/07 Javascript
使用jQuery实现input数值增量和减量的方法
2015/01/24 Javascript
js实现touch移动触屏滑动事件
2015/04/17 Javascript
Jquery ajax请求导出Excel表格的实现代码
2016/06/08 Javascript
Javascript将JSON日期格式化
2016/08/23 Javascript
Angularjs中controller的三种写法分享
2016/09/21 Javascript
vue.js指令和组件详细介绍及实例
2017/04/06 Javascript
JavaScript实现小球沿正弦曲线运动
2020/09/07 Javascript
vue组件开发props验证的实现
2019/02/12 Javascript
微信小程序websocket实现即时聊天功能
2019/05/21 Javascript
详解新手使用vue-router传参时注意事项
2019/06/06 Javascript
layui实现根据table数据判断按钮显示情况的方法
2019/09/26 Javascript
element跨分页操作选择详解
2020/06/29 Javascript
Vue 解决通过this.$refs来获取DOM或者组件报错问题
2020/07/28 Javascript
可拖拽组件slider.js使用方法详解
2020/12/04 Javascript
jquery实现点击左右按钮切换图片
2021/01/27 jQuery
[01:10:24]DOTA2-DPC中国联赛 正赛 VG vs Aster BO3 第一场 2月28日
2021/03/11 DOTA
Python模拟登录验证码(代码简单)
2016/02/06 Python
解决Jupyter Notebook开始菜单栏Anaconda下消失的问题
2020/04/13 Python
python中yield的用法详解
2021/01/13 Python
大宝sod蜜广告词
2014/03/21 职场文书
年终晚会主持词
2014/03/25 职场文书
承诺书的格式范文
2014/03/28 职场文书
信仰观后感
2015/06/03 职场文书
陈斌强事迹观后感
2015/06/17 职场文书
机关单位2016年法制宣传日活动总结
2016/04/01 职场文书
python基于机器学习预测股票交易信号
2021/05/25 Python