您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:Python一行代码实现自动发邮件功能

51自学网 2021-10-30 22:36:29
  python
这篇教程Python一行代码实现自动发邮件功能写得很实用,希望能帮到您。

1. 用Python每天给女神发送舔狗问候

用Python自动发送最基本的邮件(主题+收件人)

知识点

邮件结构

以263企业邮为例

邮件形式 内容
最基本 收件人+主题
最常用 收件人+主题+正文
一般流程申请邮件 收件人+主题+正文+抄送
发报表邮件 收件人+主题+抄送+附件
加说明报表邮件 收件人+主题+正文+抄送+附件

Python调用zmail模块

import zmailzmail.server('danzhao@sunlands.com','password').send_mail('danzhao@sunlands.com',{'subject':'我是你的舔狗1号'})

把收件人改成女神

import zmailzmail.server('danzhao@sunlands.com','password').send_mail([('女神','danzhao@sunlands.com')],{'subject':'我是你的舔狗1号'})

作业:把收件人外显名改成美国队长

可能会遇到的问题

确认密码没错仍然说密码不对: 可能需要开通对应的SMTP专用密码(授权码),例如QQ邮箱

服务器无响应

部分比较特殊的邮件可能需要自行设置smtp服务器,一般是去找邮箱提供方,以263企业邮为例

这个时候需要写作如下代码

import zmailzmail.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 requestsimport jsonimport zmailresponse = 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 zmailmail = dict(	subject='今日数据情况',	content_text='今日新录入名片100张,有效添加50张,添加率为50%')zmail.server('danzhao@sunlands.com','password').send_mail('danzhao@sunlands.com',mail)

在此基础上,重点突出添加率

带格式的正文

import zmailmail = dict(	subject='今日数据情况',	content_html='今日新录入名片100张,有效添加50张,添加率为<strong>50%</strong>')zmail.server('danzhao@sunlands.com','password').send_mail('danzhao@sunlands.com',mail)

注:需要额外的HTML基础知识

如果有很多个收件人的时候

import zmailmail = dict(	subject='今日数据情况',	content_text='今日新录入名片100张,有效添加50张,添加率为50%')zmail.server('danzhao@sunlands.com','password').send_mail(['yupinze@sunlands.com','danzhao@sunlands.com'],mail)

可能还要抄送老大

import zmailmail = 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 zmailmail = 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 zmailmail = 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自动发邮件内容请搜索51zixue.net以前的文章或继续浏览下面的相关文章希望大家以后多多支持51zixue.net!


深入解析NumPy中的Broadcasting广播机制
pandas提升计算效率的一些方法汇总
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。