专栏名称: 网易百行探秘
实用技能学习平台,帮你发现感兴趣的课程,成为更好的自己。
目录
相关文章推荐
学习曾国藩  ·  王阳明:活得不顺心,源于5种不明智! ·  3 天前  
学习曾国藩  ·  这六种人,最容易遇到贵人! ·  3 天前  
混沌学园  ·  哪吒2的“泼天流量”接住了!蒙牛CMO亲授I ... ·  11 小时前  
人生研究所  ·  43岁继承500亿,她不会结婚了…… ·  2 天前  
学习曾国藩  ·  一个人烂泥扶不上墙的10种表现,你有没有? ·  4 天前  
51好读  ›  专栏  ›  网易百行探秘

看我用Python一秒发送数百份邮件,让财务部妹子追着喊666!

网易百行探秘  · 公众号  · 学习  · 2021-01-22 19:55

正文

作者:早起

来源:早起Python(ID:zaoqi-python)


今天跟大家分享一个如何用几行Python代码让财务部妹子追着喊666的实用案例。

需求描述


最近公司要发奖金,需要财务部妹子给每个员工发一封邮件,现在全公司 10 个部门每个人的奖金情况已经计算好了,并根据部门分别制作了 10 张表格:

每个奖金表格内容大致如下:

同时有一份 Excel 文件 邮件地址.xlsx ,里面有各部门负责人的邮箱:

首先第一个需求很简单: 给各部门负责人发送相应部门的奖金附件

这个需求不同于群发,只要把所有人邮件地址加进来一键发送就可以,而是 需要点对点的单发邮件 。如果部门或者收件人的数量继续增加,无非会增加工作难度、降低工作效率,因此需要 Python 出手解决。

当然如果就这么点小事,妹子辛苦一点手动发送也能解决,下面还有一个需求 👇

原有部门奖金表格新 增加了一列个人邮箱 (邮箱地址均为虚构),如下


不同于上面需求, 给部分负责人发送总奖金表格的同时,也需要给各部分每一个人发送自己的奖金金额 ,发送内容为:

尊敬的xxx部门 xxx 您好,您的工号是 xxx,您2020年的奖金为 xxx


这个需求如果再手动的话,工作量瞬间就上去了,下面我们讲解如何用Python优雅、快速的解决!

逻辑梳理


初级需求是一个点对点单独发送,简单的思路可以是:
  • 逐行遍历 邮件地址.xlsx 取各部门名称和负责人邮箱地址

  • 根据部门名称去 奖金发放 文件夹下获取 奖金_部门名称.xlsx 作为附件

  • 再遍历 邮件地址.xlsx 的循环体内完成邮件的发送

如果加上了个人邮箱其实也很简单,在原先代码的基础上打开并遍历 奖金_部门名称.xlsx 文件,获取每个人的工号、姓名、邮箱地址、奖金数,而部门在打开 Excel 时就确定了,最后根据上面获取的信息用 yagmail 组装成新的邮件信息并发送。

代码实现


先着手实现基本需求。由于只涉及 Excel 文件的读取以及邮件的发送,需要导入 openpyxl load_workbook 方法以及 yagmail 库,如果不把密码(授权码)明文显示而存储在系统密钥环中则需要额外导入 keyring
from






请到「今天看啥」查看全文