Python一行代码实现自动发邮件功能

作者:但老师 时间:2021-04-06 06:04:38 

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)

作业:写一份完整的邮件代码,包含以下内容

多个收件人,收件人都外显为姓名
多个抄送人,也带上自己名字
多个附件,并在正文中注明附件作用
带格式的正文:附件名使用斜体,添加率使用加粗,领导名字使用红色加粗字体显示
主题变成一个自动带上当天日期的内容

总结

来源:https://blog.csdn.net/sinat_41870148/article/details/117325734

标签:python,自动,发邮件
0
投稿

猜你喜欢

  • Go语言sync.Cond基本使用及原理示例详解

    2023-06-28 07:09:01
  • 跟老齐学Python之坑爹的字符编码

    2021-07-13 06:07:38
  • Python的bit_length函数来二进制的位数方法

    2022-06-25 00:35:58
  • asp如何在数据库中用好Transaction?

    2010-06-22 21:07:00
  • 如何以及何时使用sIFR

    2008-03-07 12:38:00
  • python使用递归解决全排列数字示例

    2022-02-22 04:14:49
  • 用户体验的误解

    2008-07-15 12:31:00
  • Python statistics模块示例详解

    2023-01-27 11:49:47
  • Form表单及django的form表单的补充

    2023-07-21 09:40:04
  • 马化腾关于产品设计与用户体验的培训

    2009-02-12 11:45:00
  • python实现关闭第三方窗口的方法

    2023-11-01 17:25:09
  • SQL--JOIN之完全用法

    2008-09-12 17:30:00
  • python飞机大战pygame游戏背景设计详解

    2022-01-09 00:20:37
  • Python OpenCV实现3种滤镜效果实例

    2021-06-04 10:20:27
  • win10子系统python开发环境准备及kenlm和nltk的使用教程

    2023-07-31 01:48:28
  • python GUI库图形界面开发之PyQt5拖放控件实例详解

    2023-04-26 08:43:24
  • PHP用Session实现用户登陆功能

    2023-06-18 02:09:38
  • Tensorflow读取并输出已保存模型的权重数值方式

    2023-09-15 10:07:49
  • 关于鼠标、键盘的几个事件的例子

    2008-07-27 17:00:00
  • ASP 80040e14错误的解决方法

    2011-03-17 11:21:00
  • asp之家 网络编程 m.aspxhome.com