Python办公自动化——批量发送邮件

Posted Dream丶Killer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python办公自动化——批量发送邮件相关的知识,希望对你有一定的参考价值。

Python办公自动化——批量发送邮件

需求描述

之前的博客中有些代码较多的,我一般会在文章中说明,“有需要数据集或代码的留个邮箱!”。之后看到后我会根据这些评论把文件发送给指定邮箱,相比于每次都打开网页版的邮箱,一次次的发送,Pythonyagmail 库为我们提供了更好更快捷的方式,能够让我们一次发送多封邮件给不同的人。


安装所需依赖

yagmail:它是一个 GMAIL/SMTP 客户端,旨在使其尽可能简单的发送电子邮件。
keyring:它提供了一种从 Python 访问系统 keyring 服务的简单方法。它可以用于任何需要安全密码存储的应用程序。

使用如下代码安装两个库:

pip install yagmail keyring

开启IMAP/SMTP服务

这里以qq邮箱为例,开启 IMAP/SMTP 服务后,会给一个授权码,之后可以通过授权码进行登录。
在这里插入图片描述
IMAP是什么?
IMAP,即 Internet Message Access Protocol(互联网邮件访问协议),可以通过这种协议从邮件服务器上获取邮件的信息、下载邮件等。IMAPPOP 类似,都是一种邮件获取协议。
在这里插入图片描述


编写代码

将密码或是重要信息直接写到代码中是很危险的,我们可以利用 yagmail 将密码进行存储,之后使用时就可以忽略 password ,直接使用 username 进行操作。
存储邮箱密码:

import yagmail

yagmail.register('xxxxxx@qq.com', '密码/授权码')

群发邮件:

import yagmail

# 创建SMTP服务实例
email = yagmail.SMTP(user='xxxxxx@qq.com', host='smtp.qq.com')
# 添加邮件内容
contents = ['整理不易!如有帮助,请三连支持一下博主!',
            r'附件本地路径,如:C:\\Users\\pc\\Desktop\\test.csv',
            r'附件路径']
# 添加接收人
received = ['xxxxxx@qq.com', 'xxxxxxx@qq.com']
# 发送邮件
email.send(received , '主题', contents)

是不是很简单呢!

但细心的可能会发现,contents 路径中的文件会自动添加到附件中,那么如果要在正文中添加图片的话要如何使用呢?我们可以使用 yagmail.inline(图片路径)

contents = ['整理不易!如有帮助,请三连支持一下博主!',
			yagmail.inline(r'C:\\xxx\\xxx.png'),
            r'附件本地路径,如:C:\\Users\\pc\\Desktop\\test.csv',
            r'附件路径']

内容参考

yagmail 官方文档
keyring 官方文档
如何使用IMAP服务?



这就是本文所有的内容了,如果感觉还不错的话。❤ 点个赞再走吧!!!❤

在这里插入图片描述
后续会继续分享《Python自动化办公》系列文章,如果感兴趣的话可以点个关注不迷路哦~。

以上是关于Python办公自动化——批量发送邮件的主要内容,如果未能解决你的问题,请参考以下文章

python自动化高效办公第二期,带你项目实战{数据可视化发送邮件(定时任务监控)python聊天机器人(基于微信钉钉)}

python自动化高效办公第二期,带你项目实战{数据可视化发送邮件(定时任务监控)python聊天机器人(基于微信钉钉)}

Python自动化办公--邮件发送全过程详解

信创办公--基于WPS的Word最佳实践系列(邮件合并实现邮件批量发送)

Python自动化办公之Excel拆分并自动发邮件

用Python批量读取考生成绩单,并自动发送录取通知书邮件