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 相关文章推荐
ssh批量登录并执行命令的python实现代码
May 25 Python
python获取文件后缀名及批量更新目录下文件后缀名的方法
Nov 11 Python
Python实现多线程HTTP下载器示例
Feb 11 Python
sublime python3 输入换行不结束的方法
Apr 19 Python
Anaconda2 5.2.0安装使用图文教程
Sep 19 Python
Python设计模式之迭代器模式原理与用法实例分析
Jan 10 Python
python ChainMap 合并字典的实现步骤
Jun 11 Python
python3连接kafka模块pykafka生产者简单封装代码
Dec 23 Python
python GUI库图形界面开发之PyQt5中QWebEngineView内嵌网页与Python的数据交互传参详细方法实例
Feb 26 Python
django xadmin 管理器常用显示设置方式
Mar 11 Python
使用OpenCV实现人脸图像卡通化的示例代码
Jan 15 Python
python3实现无权最短路径的方法
May 12 Python
深入解析NumPy中的Broadcasting广播机制
python必学知识之文件操作(建议收藏)
Python使用Kubernetes API访问集群
如何利用pygame实现打飞机小游戏
Python中requests做接口测试的方法
python关于集合的知识案例详解
May 30 #Python
教你漂亮打印Pandas DataFrames和Series
You might like
php数组中删除元素之重新索引的方法
2014/09/16 PHP
推荐几款用 Sublime Text 开发 Laravel 所用到的插件
2014/10/30 PHP
PHP+MySQL删除操作实例
2015/01/21 PHP
php实现二进制和文本相互转换的方法
2015/04/18 PHP
php 常用的系统函数
2017/02/07 PHP
JS无限树状列表实现代码
2011/01/11 Javascript
javascript学习笔记(九)javascript中的原型(prototype)及原型链的继承方式
2011/04/12 Javascript
JavaScript阻止事件冒泡示例分享
2014/12/28 Javascript
JavaScript使用DeviceOne开发实战(三)仿微信应用
2015/12/02 Javascript
悬浮广告方法日常收集整理
2016/03/18 Javascript
JavaScript登录验证码的实现
2016/10/27 Javascript
jQuery Ajax自定义分页组件(jquery.loehpagerv1.0)实例详解
2017/05/01 jQuery
Vue.js实现网格列表布局转换方法
2017/08/25 Javascript
AngularJS 打开新的标签页实现代码
2017/09/07 Javascript
js封装成插件的步骤方法
2017/09/11 Javascript
js插件实现图片滑动验证码
2020/09/29 Javascript
vue自定义全局组件(自定义插件)的用法
2018/01/30 Javascript
Vue中的slot使用插槽分发内容的方法
2018/03/01 Javascript
node使用Mongoose类库实现简单的增删改查
2018/11/08 Javascript
浅谈在Vue.js中如何实现时间转换指令
2019/01/06 Javascript
详解vue高级特性
2020/06/09 Javascript
jQuery实现简单三级联动效果
2020/09/05 jQuery
[49:05]Newbee vs TNC 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
浅谈Python中的数据类型
2015/05/05 Python
利用python将json数据转换为csv格式的方法
2018/03/22 Python
python训练数据时打乱训练数据与标签的两种方法小结
2018/11/08 Python
python变量的存储原理详解
2019/07/10 Python
全球知名鞋履品牌授权零售商:Journeys
2016/09/17 全球购物
阿姆斯特丹杜莎夫人蜡像馆官方网站:Madame Tussauds Amsterdam
2019/03/12 全球购物
倩碧澳大利亚官网:Clinique澳大利亚
2019/07/22 全球购物
JSF如何进行表格处理及取值
2012/08/06 面试题
编写函数,将一个3*3矩阵转置
2013/10/09 面试题
法学研究生自我鉴定范文
2013/12/04 职场文书
高中班长自我鉴定
2013/12/20 职场文书
法学院方阵解说词
2014/01/29 职场文书
创先争优承诺书范文
2014/03/31 职场文书