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 文件和路径操作函数小结
Nov 23 Python
Python基于OpenCV实现视频的人脸检测
Jan 23 Python
Python迭代器与生成器用法实例分析
Jul 09 Python
详解pandas安装若干异常及解决方案总结
Jan 10 Python
python读出当前时间精度到秒的代码
Jul 05 Python
python实现两个经纬度点之间的距离和方位角的方法
Jul 05 Python
python matplotlib库直方图绘制详解
Aug 10 Python
Python Django中的STATIC_URL 设置和使用方式
Mar 27 Python
Python MOCK SERVER moco模拟接口测试过程解析
Apr 13 Python
Python实例教程之检索输出月份日历表
Dec 16 Python
用python删除文件夹中的重复图片(图片去重)
May 12 Python
Python爬虫基础讲解之请求
May 13 Python
深入解析NumPy中的Broadcasting广播机制
python必学知识之文件操作(建议收藏)
Python使用Kubernetes API访问集群
如何利用pygame实现打飞机小游戏
Python中requests做接口测试的方法
python关于集合的知识案例详解
May 30 #Python
教你漂亮打印Pandas DataFrames和Series
You might like
PHP日期时间函数的高级应用技巧
2009/05/16 PHP
php模拟用户自动在qq空间发表文章的方法
2015/01/07 PHP
PHP终止脚本运行三种实现方法详解
2020/09/01 PHP
非常好的js代码
2006/06/27 Javascript
js列举css中所有图标的实现代码
2011/07/04 Javascript
表格单元格交错着色实现思路及代码
2013/04/01 Javascript
JavaScript对象学习经验整理
2013/10/12 Javascript
jQuery中的jQuery()方法用法分析
2014/12/27 Javascript
jquery实现用户登陆界面(示例讲解)
2017/09/06 jQuery
WebStorm ES6 语法支持设置&amp;babel使用及自动编译(详解)
2017/09/08 Javascript
详解使用React全家桶搭建一个后台管理系统
2017/11/04 Javascript
浅谈Node框架接入ELK实践总结
2019/02/22 Javascript
详解JS判断页面是在手机端还是在PC端打开的方法
2019/04/26 Javascript
微信小程序如何再次获取用户授权的方法
2019/05/10 Javascript
Vue中import from的来源及省略后缀与加载文件夹问题
2020/02/09 Javascript
[47:02]2018DOTA2亚洲邀请赛3月29日 小组赛B组 VP VS paiN
2018/03/30 DOTA
[40:17]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第一场
2018/04/06 DOTA
Perl中著名的Schwartzian转换问题解决实现
2015/06/02 Python
Python进阶之递归函数的用法及其示例
2018/01/31 Python
Python3.6笔记之将程序运行结果输出到文件的方法
2018/04/22 Python
更改Python的pip install 默认安装依赖路径方法详解
2018/10/27 Python
pyqt5 实现 下拉菜单 + 打开文件的示例代码
2019/06/20 Python
pytorch 在sequential中使用view来reshape的例子
2019/08/20 Python
python 使用递归实现打印一个数字的每一位示例
2020/02/27 Python
django修改models重建数据库的操作
2020/03/31 Python
微信浏览器取消缓存的方法
2015/03/28 HTML / CSS
手机配件第一品牌:ZAGG
2017/05/28 全球购物
极度干燥澳大利亚官方网站:Superdry澳大利亚
2019/03/28 全球购物
如何打印出当前源文件的文件名以及源文件的当前行号
2015/04/05 面试题
中学生差生评语
2014/01/30 职场文书
优秀护士先进事迹
2014/05/08 职场文书
新手上路标语
2014/06/20 职场文书
工作收入证明模板
2014/10/10 职场文书
教师批评与自我批评材料
2014/10/16 职场文书
护理培训心得体会
2016/01/22 职场文书
Python异常类型以及处理方法汇总
2021/06/05 Python