email邮件中 内嵌iframe_邮件发送,使用Python中 smtplib与email 模块实现自动发送QQ邮件...

4f4c72371b07b19c40d407203bbdbe76.png

Python 的实际应用中,特别是在执行周期性定时任务的场景中,我们希望能够一种简单、方便的方式获取任务的运行结果和状态。一般我们通过支持邮件发送功能的方式,实现任务结果的反馈。本文主要介绍,如何通过 Python 实现邮件的自动发送,并以发送QQ邮件为例,分享完整的源码示例。


SMTP 协议属于 TCP/IP 协议簇,是一种简单邮件传输协议,用于在邮件服务器之间发送电子邮件。

Python提供 smtplib 模块定义了一个SMTP客户端会话对象,提供了一种很方便的途径发送电子邮件。发送邮件同时还需要 email 模块,均为内置库,无需安装。接下来,我们先了解下这两个模块。


smtplib 模块

发送邮件,主要通过 SMTP 类与邮件系统进行交互,smtplib 用法简单,大致分为4个步骤,如下:

  1. 创建 SMTP 的对象并连接
  2. 登录 SMTP 服务器
  3. 发送邮件
  4. 断开连接

对应上述步骤的代码片段如下:

11db073430d11be4ad446b7552f33f8d.png

email 模块

构造邮件内容,支持发送的邮件内容为纯文本、超文本、图片、附件的邮件。针对不同邮件内容有以下三类方法:

  • MIMEText:内容形式为纯文本、超文本(html)。
  • MIMEImage:内容形式为图片。
  • MIMEMultupart:多形式组合,可包含文本、图片、附件。邮件类型为 alternative 的邮件包括纯文本正文、超文本正文;邮件类型为 related 的邮件正文中包括图片,声音等内嵌资源。邮件类型为 mixed 的邮件包含附件,若一个邮件有纯文本正文、超文本正文,内嵌资源、附件、则选择 mixed 类型。

每一类对应的导入方式如下:

17f079e04baacfd0119e9987e1e389bb.png

MIMEText plain 构造普通文本

4bd1c7c777ba2bf35e24f984b2b7e7a3.png

MIMEText html构造超文本

284bf22340fc9d1921d9978f3a4bab29.png

MIMEText 构造base64数据流(附件)

1f61686bcc6dad690c5f814e214f8c09.png

MIMEImage 构造图片

7d65e25532750c7ae2a50d3a5d0886d5.png


更改qq邮箱设置

本文实现QQ邮件的发送,在具体编写代码实现邮件发送之前,首先我们要知道使用 Python代理登录QQ邮箱发邮件时,需要先更改自己 QQ 邮箱设置,更改步骤主要分为两步:

  1. 邮箱开启 SMTP 功能
  2. 获取授权码

1.首先登录自己的邮箱,找到 设置 ,开启 POP3/SMTP/IMAP 服务,如下:

ec40c90d8c62da38727cc6bc7bdd3cc2.png

2.然后开启并获取客户端授权码,如下:

14de97a8fd59b0a84c1dfb9f8227b242.png

QQ 邮箱 SMTP 服务器地址:smtp.qq.com


Python实现示例

现在我们实现一个函数,能够发送纯文本、超文本、附件内容,如下:

17d4654b4aa266266add3ed379fd317e.png
c57afa9dd5e8f9ec2c4d1851288578af.png

查看我们的收件箱(一般在垃圾箱),就可以查看到邮件信息,如下:

8e7c27c7a32a2594e5d9a5bc9c755d34.png

关联阅读:Python任务调度模块APScheduler实现定时任务

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值