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 03 Python
python正则实现计算器功能
Dec 14 Python
Python机器学习之SVM支持向量机
Dec 27 Python
Python cookbook(数据结构与算法)实现优先级队列的方法示例
Feb 18 Python
Python 函数基础知识汇总
Mar 09 Python
Python遍历numpy数组的实例
Apr 04 Python
浅述python2与python3的简单区别
Sep 19 Python
利用python实现在微信群刷屏的方法
Feb 21 Python
python通过文本在一个图中画多条线的实例
Feb 21 Python
Python如何创建装饰器时保留函数元信息
Aug 07 Python
Pycharm配置lua编译环境过程图解
Nov 28 Python
python小型的音频操作库mp3Play
Apr 24 Python
深入解析NumPy中的Broadcasting广播机制
python必学知识之文件操作(建议收藏)
Python使用Kubernetes API访问集群
如何利用pygame实现打飞机小游戏
Python中requests做接口测试的方法
python关于集合的知识案例详解
May 30 #Python
教你漂亮打印Pandas DataFrames和Series
You might like
谷歌音乐搜索栏的提示功能php修正代码
2011/05/09 PHP
php中设置index.php文件为只读的方法
2013/02/06 PHP
php rsa 加密,解密,签名,验签详解
2016/12/06 PHP
PHP命令空间namespace及use的用法小结
2017/11/27 PHP
php日志函数error_log用法实例分析
2019/09/23 PHP
PHP与Web页面的交互示例详解一
2020/08/04 PHP
Javascript 个人笔记(没有整理,很乱)
2007/07/07 Javascript
游览器中javascript的执行过程(图文)
2012/05/20 Javascript
AngularJS中$interval的用法详解
2016/02/02 Javascript
JS操作COOKIE实现备忘记录的方法
2016/04/01 Javascript
javascript常见数字进制转换实例分析
2016/04/21 Javascript
JavaScript根据CSS的Media Queries来判断浏览设备的方法
2016/05/10 Javascript
关于JS中setTimeout()无法调用带参函数问题的解决方法
2016/06/21 Javascript
JavaScript简单生成 N~M 之间随机数的方法
2017/01/13 Javascript
vuex学习之Actions的用法详解
2017/08/29 Javascript
Vue 页面状态保持页面间数据传输的一种方法(推荐)
2018/11/01 Javascript
详解vue移动端项目代码拆分记录
2019/03/15 Javascript
javascript设计模式 ? 代理模式原理与用法实例分析
2020/04/16 Javascript
vue输入框使用模糊搜索功能的实现代码
2020/05/26 Javascript
微信小程序淘宝首页双排图片布局排版代码(推荐)
2020/10/29 Javascript
[02:36]DOTA2亚洲邀请赛小组赛精彩集锦:奇迹哥卡尔秀翻全场
2017/03/28 DOTA
Python获取电脑硬件信息及状态的实现方法
2014/08/29 Python
在Python中使用HTML模版的教程
2015/04/29 Python
python查询mysql,返回json的实例
2018/03/26 Python
python+splinter自动刷新抢票功能
2018/09/25 Python
tensorflow pb to tflite 精度下降详解
2020/05/25 Python
Python字符串split及rsplit方法原理详解
2020/06/29 Python
python 使用openpyxl读取excel数据
2021/02/18 Python
Python与C/C++的相互调用案例
2021/03/04 Python
浅谈amaze-ui中datepicker和datetimepicker注意的几点
2020/08/21 HTML / CSS
英国最大的在线照明商店:Litecraft
2020/08/31 全球购物
寒假思想汇报
2014/01/10 职场文书
项目经理聘任书
2014/03/29 职场文书
医生辞职信范文
2015/03/02 职场文书
MySQL之高可用集群部署及故障切换实现
2021/04/22 MySQL
Python find()、rfind()方法及作用
2022/12/24 Python