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实现栈的方法
May 26 Python
python 调用win32pai 操作cmd的方法
May 28 Python
Python实现导出数据生成excel报表的方法示例
Jul 12 Python
Pandas读取并修改excel的示例代码
Feb 17 Python
PyQt弹出式对话框的常用方法及标准按钮类型
Feb 27 Python
浅析Windows 嵌入python解释器的过程
Jul 26 Python
Python OpenCV视频截取并保存实现代码
Nov 30 Python
Django 限制访问频率的思路详解
Dec 24 Python
Python测试线程应用程序过程解析
Dec 31 Python
解决pycharm编辑区显示yaml文件层级结构遇中文乱码问题
Apr 27 Python
python中前缀运算符 *和 **的用法示例详解
May 28 Python
pycharm中使用request和Pytest进行接口测试的方法
Jul 31 Python
深入解析NumPy中的Broadcasting广播机制
python必学知识之文件操作(建议收藏)
Python使用Kubernetes API访问集群
如何利用pygame实现打飞机小游戏
Python中requests做接口测试的方法
python关于集合的知识案例详解
May 30 #Python
教你漂亮打印Pandas DataFrames和Series
You might like
Protoss兵种介绍
2020/03/14 星际争霸
COM in PHP (winows only)
2006/10/09 PHP
PHP中的integer类型使用分析
2010/07/27 PHP
php打包压缩文件之ZipArchive方法用法分析
2016/04/30 PHP
php数组函数array_walk用法示例
2016/05/26 PHP
详解PHP5.6.30与Apache2.4.x配置
2017/06/02 PHP
PHP实现的链式队列结构示例
2017/09/15 PHP
Javascript Global对象
2009/08/13 Javascript
基于JavaScript实现继承机制之原型链(prototype chaining)的详解
2013/05/07 Javascript
js动态生成指定行数的表格
2013/07/11 Javascript
node.js中的fs.writeFile方法使用说明
2014/12/14 Javascript
浅谈Vue.js
2017/03/02 Javascript
ES6中Generator与异步操作实例分析
2017/03/31 Javascript
javascript实现文字无缝滚动效果
2017/08/26 Javascript
vue.js整合vux中的上拉加载下拉刷新实例教程
2018/01/09 Javascript
layui select获取自定义属性方法
2018/08/15 Javascript
vue结合element-ui使用示例
2019/01/24 Javascript
vue中实现拖动调整左右两侧div的宽度的示例代码
2020/07/22 Javascript
JavaScript如何实现防止重复的网络请求的示例
2021/01/28 Javascript
如何准确判断请求是搜索引擎爬虫(蜘蛛)发出的请求
2015/10/13 Python
简述Python2与Python3的不同点
2018/01/21 Python
python实现遍历文件夹修改文件后缀
2018/08/28 Python
关于Python中的向量相加和numpy中的向量相加效率对比
2019/08/26 Python
windows中安装Python3.8.0的实现方法
2019/11/19 Python
Python字符串格式化输出代码实例
2019/11/22 Python
英国领先的高街书籍专家:Waterstones
2018/02/01 全球购物
Sneaker Studio波兰:购买运动鞋
2018/04/28 全球购物
Paradox London官方网站:英国新娘鞋婚礼鞋品牌
2019/08/29 全球购物
小学校园活动策划
2014/01/30 职场文书
海洋科学专业求职信
2014/08/10 职场文书
部队2014年终工作总结
2014/11/27 职场文书
redis cluster支持pipeline的实现思路
2021/06/23 Redis
AJAX实现指定部分页面刷新效果
2021/10/16 Javascript
JavaCV实现照片马赛克效果
2022/01/22 Java/Android
不负正版帝国之名 《重返帝国》引领SLG手游制作新的标杆
2022/04/07 其他游戏
MySQL 逻辑备份 into outfile
2022/05/15 MySQL