python yagmail高效发送邮件的工具
0 背景
在python项目开发中, 我们有时候需要通过邮件实现诸如 异常告警, 信息通知, 验证码发送等的一些功能, 我们可以使用python自带的smtplib
, email
进行邮件的发送, 但是自带的smtplib
在进行使用时, 配置和发送操作步骤比较多, 配置较为麻烦, 因为, 本文, 我们使用使用一个更加简洁高效的发送邮件库–yagmail
, 我们可以使用它作为我们开发项目的处理电子邮件任务的首选工具.
yagmail
的优势:
-
简洁的 API:yagmail 库提供了一个非常简洁的接口,有一说一,接口是真简单。 -
安全性:在处理电子邮件发送时,安全性是一个不容忽视的因素。yagmail 通过内置的安全机制,如 OAuth2 认证,保证了邮件发送过程的安全性。 -
灵活性和功能丰富:yagmail 支持发送多种格式的邮件,包括纯文本、HTML 内容,甚至可以附加图片和文件。这使得它能够应对各种不同的邮件发送需求。 -
集成和自动化:yagmail 可以轻松集成到各种Python应用程序中,特别适合于需要自动发送电子邮件的场景,如自动化报告、通知系统等。
1 使用
1 安装
yagmail
是一个第三方的包. 使用pip安装
pip install yagmail
2 编写脚本
from yagmail import SMTP
mail_config = {
'user': {
'orange@orange.com': '熊二'
},
'password': '8ea10a8b8d615d02324396c3df45ab08',
'host': 'smtp.qq.com',
'port': 465,
}
server = SMTP(**mail_config)
mail_info = {
'to': {
'apple@orange.com': '光头强',
'banana@orange.com': '熊大',
},
'subject': '标题',
'contents': '内容',
'attachments': '附件的路径, 多个附件使用列表',
'cc': {
'huawei@orange.com': '抄送账户'
},
'bcc': {
'xiaomi@orange.com': '密送账户'
}
}
server.send(**mail_info)
server.close()
这里, 我写了一个基础的使用yagmail
的脚本, 在这其中, 我使用字典作为可变参数配置.
另外, mail_config
里面的user
我也使用了字典, 是因为我想在发送邮件的时候, 给我自己一个昵称, 告诉接收者我是谁, 同理, mail_info
的to
, cc
, bcc
也是给接收者增加一个昵称, 当然, 如果不需要, 可以直接字符串, 而不是使用字典, 接收者如果有多个, 也可以直接使用列表.
另外, mail_info
的contents
和attachments
也可以使用列表, 表示多个内容的拼接, 或者多个附件, 内容主题可以时普通文本, 也可以使用html格式.
注意, QQ邮箱和网易邮箱出于密码安全的考虑, 是使用授权码作为密码的.
贴一个QQ邮箱和网易邮箱的配置:
QQ邮箱
POP3/SMTP 设置方法 用户名/帐户:你的QQ邮箱完整的地址
密码:生成的授权码
电子邮件地址:你的QQ邮箱的完整邮件地址
接收邮件服务器:pop.qq.com,使用SSL,端口号995
发送邮件SMTP服务器:smtp.qq.com,使用SSL,端口号465或587
网易邮箱
发送邮件SMTP服务器: smtp.163.com,使用SSL,端口号465
2 关于
欢迎关注我的微信公众号.
原文始发于微信公众号(其之):python yagmail高效发送邮件的工具
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/204834.html