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创建文件和追加文件内容实例
Oct 21 Python
Pycharm学习教程(7)虚拟机VM的配置教程
May 04 Python
解决Tensorflow安装成功,但在导入时报错的问题
Jun 13 Python
Python格式化日期时间操作示例
Jun 28 Python
Python3 Post登录并且保存cookie登录其他页面的方法
Dec 28 Python
如何使用Python进行OCR识别图片中的文字
Apr 01 Python
python远程连接MySQL数据库
Apr 19 Python
python学习开发mock接口
Apr 28 Python
Python实现基于SVM的分类器的方法
Jul 19 Python
python程序需要编译吗
Jun 19 Python
基于python实现判断字符串是否数字算法
Jul 10 Python
使用Python提取文本中含有特定字符串的方法示例
Dec 09 Python
深入解析NumPy中的Broadcasting广播机制
python必学知识之文件操作(建议收藏)
Python使用Kubernetes API访问集群
如何利用pygame实现打飞机小游戏
Python中requests做接口测试的方法
python关于集合的知识案例详解
May 30 #Python
教你漂亮打印Pandas DataFrames和Series
You might like
PHP base64+gzinflate压缩编码和解码代码
2008/10/03 PHP
php 魔术方法使用说明
2009/10/20 PHP
PHP 使用MySQL管理Session的回调函数详解
2013/06/21 PHP
迪菲-赫尔曼密钥交换(Diffie?Hellman)算法原理和PHP实现版
2015/05/12 PHP
php利用smtp类实现电子邮件发送
2015/10/30 PHP
微信获取用户地理位置信息的原理与步骤
2015/11/12 PHP
php图片上传类 附调用方法
2016/05/15 PHP
PHP实现对数组分页处理实例详解
2017/02/07 PHP
TNC vs IO BO3 第二场2.13
2021/03/10 DOTA
Javascript 类与静态类的实现
2010/04/01 Javascript
jQuery getJSON()+.ashx 实现分页(改进版)
2013/03/28 Javascript
JS+DIV实现鼠标划过切换层效果的实例代码
2013/11/26 Javascript
js导出txt示例代码
2014/01/14 Javascript
js(JavaScript)实现TAB标签切换效果的简单实例
2014/02/26 Javascript
html的DOM中Event对象onabort事件用法实例
2015/01/21 Javascript
javascript等号运算符使用详解
2015/04/16 Javascript
Extjs实现下拉菜单效果
2016/04/01 Javascript
Javascript基础知识盲点总结之函数
2016/05/15 Javascript
JS获取checkbox的个数简单实例
2016/08/19 Javascript
AngularJs表单校验功能实例代码
2017/02/09 Javascript
详解JavaScript中typeof与instanceof用法
2018/10/24 Javascript
vue实现分页栏效果
2019/06/28 Javascript
[43:35]TI4 循环赛第二日Liquid vs Fnatic
2014/07/11 DOTA
[10:49]2014国际邀请赛 叨叨刀塔第二期为真正的电竞喝彩
2014/07/21 DOTA
[01:02:48]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 LGD vs OG
2018/04/02 DOTA
利用TensorFlow训练简单的二分类神经网络模型的方法
2018/03/05 Python
Python 将Matrix、Dict保存到文件的方法
2018/10/30 Python
python实现键盘输入的实操方法
2019/07/16 Python
详解Python并发编程之创建多线程的几种方法
2019/08/23 Python
如何在网站上添加谷歌定位信息
2016/04/16 HTML / CSS
加拿大时尚潮流大码女装购物网站:Addition Elle
2018/04/02 全球购物
党员批评与自我批评发言
2014/10/02 职场文书
如何用Python搭建gRPC服务
2021/06/30 Python
python模块与C和C++动态库相互调用实现过程示例
2021/11/02 Python
关于 Python json中load和loads区别
2021/11/07 Python
Spring中的@Transactional的工作原理
2022/06/05 Java/Android