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 相关文章推荐
python3 与python2 异常处理的区别与联系
Jun 19 Python
python分割列表(list)的方法示例
May 07 Python
python3.5 email实现发送邮件功能
May 22 Python
使用python将大量数据导出到Excel中的小技巧分享
Jun 14 Python
Python3.7中安装openCV库的方法
Jul 11 Python
python之拟合的实现
Jul 19 Python
Python网络编程之使用TCP方式传输文件操作示例
Nov 01 Python
python中从for循环延申到推导式的具体使用
Nov 29 Python
解决pyecharts运行后产生的html文件用浏览器打开空白
Mar 11 Python
Python Django2 model 查询介绍(条件、范围、模糊查询)
Mar 16 Python
Pycharm创建文件时自动生成文件头注释(自定义设置作者日期)
Nov 24 Python
opencv检测动态物体的实现
Jul 21 Python
深入解析NumPy中的Broadcasting广播机制
python必学知识之文件操作(建议收藏)
Python使用Kubernetes API访问集群
如何利用pygame实现打飞机小游戏
Python中requests做接口测试的方法
python关于集合的知识案例详解
May 30 #Python
教你漂亮打印Pandas DataFrames和Series
You might like
php中文字母数字验证码实现代码
2008/04/25 PHP
Ajax+PHP 边学边练之四 表单
2009/11/27 PHP
php中计算未知长度的字符串哪个字符出现的次数最多的代码
2012/08/14 PHP
php数组去重的函数代码
2013/02/03 PHP
怎样搭建PHP开发环境
2015/07/28 PHP
PHP获取页面执行时间的方法(推荐)
2016/12/10 PHP
javascript支持firefox,ie7页面布局拖拽效果代码
2007/12/20 Javascript
from表单多个按钮提交用onclick跳转不同action
2014/04/24 Javascript
JQuery ztree 异步加载实例讲解
2016/02/25 Javascript
jqGrid 学习笔记整理——进阶篇(一 )
2016/04/17 Javascript
Vue.js快速入门教程
2016/09/07 Javascript
使用DeviceOne实现微信小程序功能
2016/12/29 Javascript
AngularJS监听路由变化的方法
2017/03/07 Javascript
JS简单获取当前日期和农历日期的方法
2017/04/17 Javascript
nodejs简单实现TCP服务器端和客户端的聊天功能示例
2018/01/04 NodeJs
vue使用better-scroll实现下拉刷新、上拉加载
2018/11/23 Javascript
nodejs文件夹深层复制功能
2019/09/03 NodeJs
在vue+element ui框架里实现lodash的debounce防抖
2019/11/13 Javascript
JavaScript实现电灯开关小案例
2020/03/30 Javascript
[39:00]Optic vs VP 2018国际邀请赛淘汰赛BO3 第三场 8.24
2018/08/25 DOTA
python通过ElementTree操作XML获取结点读取属性美化XML
2013/12/02 Python
跟老齐学Python之变量和参数
2014/10/10 Python
Python实现比较扑克牌大小程序代码示例
2017/12/06 Python
python机器学习之KNN分类算法
2018/08/29 Python
Python爬虫设置代理IP(图文)
2018/12/23 Python
Python SQLAlchemy入门教程(基本用法)
2019/11/11 Python
基于python图书馆管理系统设计实例详解
2020/08/05 Python
Python开发入门——迭代的基本使用
2020/09/03 Python
借助HTML5 Canvas来绘制三角形和矩形等多边形的方法
2016/03/14 HTML / CSS
html5实现完美兼容各大浏览器的播放器
2014/12/26 HTML / CSS
公务员个人自我评价分享
2013/11/06 职场文书
班级光棍节联谊会策划书
2014/10/10 职场文书
红旗渠导游词
2015/02/09 职场文书
结婚纪念日感言
2015/08/01 职场文书
护士自荐信范文(2016推荐篇)
2016/01/28 职场文书
MySql 8.0及对应驱动包匹配的注意点说明
2021/06/23 MySQL