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函数参数类型*、**的区别
Apr 11 Python
连接Python程序与MySQL的教程
Apr 29 Python
Python部署web开发程序的几种方法
May 05 Python
Python实现二维数组按照某行或列排序的方法【numpy lexsort】
Sep 22 Python
Anaconda入门使用总结
Apr 05 Python
Python实现的简单排列组合算法示例
Jul 04 Python
提升Python效率之使用循环机制代替递归函数
Jul 23 Python
python urllib爬虫模块使用解析
Sep 05 Python
Python+OpenCV实现实时眼动追踪的示例代码
Nov 11 Python
Python TCP通信客户端服务端代码实例
Nov 21 Python
Python如何使用字符打印照片
Jan 03 Python
Python数据分析之绘图和可视化详解
Jun 02 Python
深入解析NumPy中的Broadcasting广播机制
python必学知识之文件操作(建议收藏)
Python使用Kubernetes API访问集群
如何利用pygame实现打飞机小游戏
Python中requests做接口测试的方法
python关于集合的知识案例详解
May 30 #Python
教你漂亮打印Pandas DataFrames和Series
You might like
php批量删除数据
2007/01/18 PHP
PHP持久连接mysql_pconnect()函数使用介绍
2012/02/05 PHP
PHP中CURL的CURLOPT_POSTFIELDS参数使用细节
2014/03/17 PHP
php基于session实现数据库交互的类实例
2015/08/03 PHP
PHP通过curl获取接口URL的数据方法
2018/05/31 PHP
PHP常见的几种攻击方式实例小结
2019/04/29 PHP
Javascript 构造函数,公有,私有特权和静态成员定义方法
2009/11/30 Javascript
Firefox下提示illegal character并出现乱码的原因
2010/03/25 Javascript
JS操作图片(增,删,改) 例子
2013/04/17 Javascript
qq悬浮代码(兼容各个浏览器)
2014/01/29 Javascript
jQuery仿Flash上下翻动的中英文导航菜单实例
2015/03/10 Javascript
JavaScript搜索字符串并将搜索结果返回到字符串的方法
2015/04/06 Javascript
JavaScript验证Email(3种方法)
2015/09/21 Javascript
AngularJS自定义控件实例详解
2016/12/13 Javascript
vue货币过滤器的实现方法
2017/04/01 Javascript
ionic2自定义cordova插件开发以及使用(Android)
2017/06/19 Javascript
详解基于 Nuxt 的 Vue.js 服务端渲染实践
2017/10/24 Javascript
详解Vue基于 Nuxt.js 实现服务端渲染(SSR)
2018/04/05 Javascript
AngularJS实现的base64编码与解码功能示例
2018/05/17 Javascript
nuxt静态部署打包相对路径操作
2020/11/06 Javascript
python封装对象实现时间效果
2020/04/23 Python
python实现简单的socket server实例
2015/04/29 Python
Python实现破解猜数游戏算法示例
2017/09/25 Python
Python用户推荐系统曼哈顿算法实现完整代码
2017/12/01 Python
python爬虫爬取网页表格数据
2018/03/07 Python
python之验证码生成(gvcode与captcha)
2019/01/02 Python
python3爬虫学习之数据存储txt的案例详解
2019/04/24 Python
详解python中的lambda与sorted函数
2020/09/04 Python
欧洲最大的滑雪假期供应商之一:Sunweb Holidays
2018/01/06 全球购物
中国制造网:Made-in-China.com
2019/10/25 全球购物
Unix如何在一行中运行多个命令
2015/05/29 面试题
思想政治自我鉴定
2013/10/06 职场文书
司机的工作范围及职责
2013/11/13 职场文书
教师先进工作者事迹材料
2014/05/01 职场文书
尊老爱幼演讲稿
2014/09/04 职场文书
2014年后勤管理工作总结
2014/12/01 职场文书