Python发送纯文字邮件

510 阅读2分钟

你好,我是悦创。

环境介绍

邮件是非常自由且通用的联系方式之一,不用及时回复,记录可以保存,有空查看和回复即可。

使用 Python 发送邮件,也是非常便利,常用于程序的运行结果上报等...

本文,学习使用 Python 发送纯文字邮件。

首先介绍一下所使用的库:yagmail,安装命令:

pip install yagmail

虽然 Python 官方内置了邮件相关库,但是使用起来,不方便理解,且代码量很大。所用使用 yagmail ,简单、易用、容易书写和管理。

使用的邮箱是 QQ 邮箱,QQ 账号可以自动申请一个邮箱,所以现在,大家都应该至少有一个 QQ 邮箱了。

邮箱的账号密码

首先,需要去配置一下 QQ 邮箱的配置,如下图: image.png 首先要确保你邮箱账号的 POP3/SMTP 服务已启动,只要这一个就够了。

然后生成一个授权码,也就是上一张图的黄色背景部分。成功生成授权码,如下图: image.png **为什么要生成授权码?**为了安全考虑,授权码泄露,不影响 QQ 的正常使用。如果想让验证码失效,关闭 POP3/SMTP 服务即可。

发送邮件

授权码,就是一会代码中的密码,账号直接是邮箱。

代码部分【密码部分已隐藏】,首先导入库,然后初始化对象,如下:

import yagmail
yag = yagmail.SMTP(user='1432803776@qq.com', password='ycw********bfff',host='smtp.qq.com')

然后发送邮件,目标是自己,随便写一个标题和内容,如下:

yag.send(to = '1432803776@qq.com',subject ='测试邮件的标题',contents = "测试邮件的内容")

代码的运行,不能出报错。

执行完成后,去 QQ 邮箱页面,刷新页面,看下有没有收到邮件,长时间没收到,也是失败。

效果展示

最终结果如下截图: image.png 提示:记得修改邮箱的发送者和接收者,别发到我这来了,发我这你是收不到邮件的。