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 break语句详解
Mar 11 Python
利用python实现微信头像加红色数字功能
Mar 26 Python
Python爬虫包BeautifulSoup异常处理(二)
Jun 17 Python
解决pycharm运行时interpreter为空的问题
Oct 29 Python
Python使用pandas对数据进行差分运算的方法
Dec 22 Python
python集合的创建、添加及删除操作示例
Oct 08 Python
Python3.7 读取 mp3 音频文件生成波形图效果
Nov 05 Python
Python3自定义http/https请求拦截mitmproxy脚本实例
May 11 Python
python 进程池pool使用详解
Oct 15 Python
python反编译教程之2048小游戏实例
Mar 03 Python
使用python+pygame开发消消乐游戏附完整源码
Jun 10 Python
Python绘制散乱的点构成的图的方法
Apr 21 Python
深入解析NumPy中的Broadcasting广播机制
python必学知识之文件操作(建议收藏)
Python使用Kubernetes API访问集群
如何利用pygame实现打飞机小游戏
Python中requests做接口测试的方法
python关于集合的知识案例详解
May 30 #Python
教你漂亮打印Pandas DataFrames和Series
You might like
PHP添加MySQL数据记录代码
2008/06/07 PHP
基于php上传图片重命名的6种解决方法的详细介绍
2013/04/28 PHP
php 解压rar文件及zip文件的方法
2014/05/05 PHP
WordPress中对访客评论功能的一些优化方法
2015/11/24 PHP
php实现购物车功能(上)
2020/07/23 PHP
yii2中使用Active Record模式的方法
2016/01/09 PHP
Zend Framework生成验证码并实现验证码验证功能(附demo源码下载)
2016/03/22 PHP
jQuery取得iframe中元素的常用方法详解
2016/01/14 Javascript
jQuery EasyUI 获取tabs的实例解析
2016/12/06 Javascript
JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)
2016/12/14 Javascript
js仿搜狐视频记录片列表展示效果
2020/05/30 Javascript
关于JavaScript中的this指向问题总结篇
2017/07/23 Javascript
解析Angular 2+ 样式绑定方式
2018/01/15 Javascript
vue百度地图 + 定位的详解
2019/05/13 Javascript
原生JavaScript实现随机点名表
2021/01/14 Javascript
Python是编译运行的验证方法
2015/01/30 Python
Python在Console下显示文本进度条的方法
2016/02/14 Python
python一行sql太长折成多行并且有多个参数的方法
2018/07/19 Python
django模板加载静态文件的方法步骤
2019/03/01 Python
pandas对dataFrame中某一个列的数据进行处理的方法
2019/07/08 Python
Python爬取新型冠状病毒“谣言”新闻进行数据分析
2020/02/16 Python
Python如何telnet到网络设备
2021/02/18 Python
纯CSS3实现带动画效果导航菜单无需js
2013/09/27 HTML / CSS
浅析HTML5 Landmark
2020/09/11 HTML / CSS
全球第二大家装零售商:Lowe’s
2018/01/13 全球购物
iPad和Surface Pro蓝牙键盘:Brydge
2018/11/10 全球购物
JAVA和C++区别都有哪些
2015/03/30 面试题
个人思想理论学习的自我鉴定
2013/11/30 职场文书
法定代表人授权委托书
2014/04/04 职场文书
学生会宣传部部长竞选演讲稿
2014/04/25 职场文书
2014年体育教师工作总结
2014/12/03 职场文书
我的生日感言
2015/08/03 职场文书
组织委员竞选稿
2015/11/21 职场文书
2016年春季运动会通讯稿
2015/11/25 职场文书
Python机器学习之决策树和随机森林
2021/07/15 Javascript
python工具dtreeviz决策树可视化和模型可解释性
2022/03/03 Python