python yagmail高效发送邮件的工具

python yagmail高效发送邮件的工具

0 背景

python yagmail高效发送邮件的工具

在python项目开发中, 我们有时候需要通过邮件实现诸如 异常告警, 信息通知, 验证码发送等的一些功能, 我们可以使用python自带的smtplib , email进行邮件的发送, 但是自带的smtplib在进行使用时, 配置和发送操作步骤比较多, 配置较为麻烦, 因为, 本文, 我们使用使用一个更加简洁高效的发送邮件库–yagmail , 我们可以使用它作为我们开发项目的处理电子邮件任务的首选工具.

yagmail的优势:

  1. 简洁的 API:yagmail 库提供了一个非常简洁的接口,有一说一,接口是真简单。
  2. 安全性:在处理电子邮件发送时,安全性是一个不容忽视的因素。yagmail 通过内置的安全机制,如 OAuth2 认证,保证了邮件发送过程的安全性。
  3. 灵活性和功能丰富:yagmail 支持发送多种格式的邮件,包括纯文本、HTML 内容,甚至可以附加图片和文件。这使得它能够应对各种不同的邮件发送需求。
  4. 集成和自动化: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_infoto, cc, bcc也是给接收者增加一个昵称, 当然, 如果不需要, 可以直接字符串, 而不是使用字典, 接收者如果有多个, 也可以直接使用列表.

另外, mail_infocontentsattachments也可以使用列表, 表示多个内容的拼接, 或者多个附件, 内容主题可以时普通文本, 也可以使用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

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!