很多人说我qq,为什么还要用这个群发,这不是在学习嘛,学完群发qq邮箱,你对python的学习会了解更多哦,想要学习更多关于python知识的,可以点击此链接
目录
我们需要将【小组销量排名表.xlsx】通过邮件发送给【组长邮箱.xlsx】中的各个组长。
这里会学一个新的知识点——str.join()
,通过它实现群发邮件的功能。
群发邮件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
|
接下来我们只要基于这份代码进行调整,就可以实现批量发送邮件的功能啦。
登录邮箱
只要注意登录时要用到邮箱授权码而不是邮箱密码。
1 2 3 4 5 6 7 8 9 10 |
|
设置邮件信息及正文文本
先定义一个空列表用于存放组长邮箱,遍历【组长邮箱.xlsx】,获取每一行第二列,即邮箱地址,使用append() 添加进列表。
但有一个问题,存放邮箱地址的列表是不能作为收件人的,可以打开邮箱看一下,群发邮件时,收件人的格式实际上是“aaa@qq.com;bbb@qq.com;ccc@qq.com”这样的,也就是以 ;
作为连接符。
因此需要先将所有单个的邮箱拼接成符合群发格式的收件人邮箱,这里就要用到str.join()
。
str.join() 的作用是连接可迭代对象中的所有字符串,举个例子:
1 2 3 4 5 6 7 |
|
可以看到字符串 'a','b','c'分别被 '-' 和 '+' 连接起来了。
1 2 3 4 5 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
|
设置附件
接下来就是把【等级一销售表.xlsx】和【小组销量排名表.xlsx】设置为附件,先读取【等级一销售表.xlsx】和【小组销量排名表.xlsx】,创建字典存放文件数据。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
遍历文件数据字典,设置附件,这里需要使用email模块再创建一个MIMEText对象,用以承载附件信息并添加入MIMEMultipart对象中。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
发送邮件并关闭邮箱服务
这一步就很简单啦,只需要两行代码。
1 2 3 4 |
|
到这里,我们的群发邮件
的代码也完成了,来看一下整合后的思维导图吧。
项目总结
终于,我们将项目的四个功能块逐一实现了,还记得四个功能块分别是什么吗?
1)功能一,我们先统计了全国各个销售部的销售数据,并进行排序。
2)功能二,我们根据排序后的结果,对全体销售人员按销量划分了等级。
3)功能三,对九个销售小组进行优秀频次和平均销量的排序。
4)功能四,将等级1的销售数据和排名数据以邮件形式发送给各地区销售部主管。
完整代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
|
运行效果:
可以自行设置邮箱进行验证。