用Python群发年终奖邮件

读取工资条

HR核算每个人的工资

import pandas as pd
df = pd.read_excel('工资条.xlsx')
print(df.to_markdown())
|    |   员工id | 姓名   |   年龄 | 岗位   |   底薪 |   奖金 |   交通补助 |   餐补 | 邮箱              |
|---:|---------:|:-------|-------:|:-------|-------:|-------:|-----------:|-------:|:------------------|
|  0 |        1 | 张三   |     25 | 销售   |   3000 |  10000 |       1000 |   1000 | thunderhit@qq.com |
|  1 |        2 | 李四   |     30 | 后勤   |   3200 |    500 |        200 |    500 | 372335839@qq.com  |
|  2 |        3 | 王五   |     21 | 前台   |   4000 |   1000 |        500 |    200 | 372335839@qq.com  |
|  3 |        4 | 赵六   |     34 | 财务   |   5000 |   1000 |        500 |    500 | thunderhit@qq.com |

计算每个人的工资

df['工资总计'] = df.eval("底薪+奖金+交通补助+餐补")
print(df.to_markdown())
|    |   员工id | 姓名   |   年龄 | 岗位   |   底薪 |   奖金 |   交通补助 |   餐补 | 邮箱              |   工资总计 |
|---:|---------:|:-------|-------:|:-------|-------:|-------:|-----------:|-------:|:------------------|-----------:|
|  0 |        1 | 张三   |     25 | 销售   |   3000 |  10000 |       1000 |   1000 | thunderhit@qq.com |      15000 |
|  1 |        2 | 李四   |     30 | 后勤   |   3200 |    500 |        200 |    500 | 372335839@qq.com  |       4400 |
|  2 |        3 | 王五   |     21 | 前台   |   4000 |   1000 |        500 |    200 | 372335839@qq.com  |       5700 |
|  3 |        4 | 赵六   |     34 | 财务   |   5000 |   1000 |        500 |    500 | thunderhit@qq.com |       7000 |

通知信模板

template = """{name}先生(女士),您好!\n\n\
  这是{date}的工资条信息:\n\n\
     {gangwei}底薪¥{base}\n\
     交通补助¥{transport}\n\
     餐补¥{food}\n\n\
  由于您当月出色的表现,
  公司决定奖励你¥{bonus}\n\
  当月工资总计{salary}\n
  希望{familyname}兄弟(姐妹)继续为了公司加油~\n\n
                     from {company}公司
"""
info = template.format(name='张三',
                       date='2019年12月',
                       gangwei='销售',
                       base=3000,
                       transport=1000,
                       food=1000,
                       bonus=10000,
                       salary=15000,
                       familyname='张',
                       company='杭州XX')
print(info)

运行结果

    张三先生(女士),您好!
      这是2019年12月的工资条信息:
         销售底薪¥3000
         交通补助¥1000
         餐补¥1000
      由于您当月出色的表现,
      公司决定奖励你¥10000
      当月工资总计15000
      希望张兄弟(姐妹)继续为了公司加油~
    
                         from 杭州XX公司

全体职员通知信

for idx, employee in df.iterrows():
    info = template.format(name=employee['姓名'],
                           gangwei=employee['岗位'],
                           base=employee['底薪'],
                           transport=employee['交通补助'],
                           food=employee['餐补'],
                           bonus=employee['奖金'],
                           salary=employee['工资总计'],
                           familyname=employee['姓名'][0],
                           company='杭州XX',
                           date='2019年12月')
    print(info)
    print('===============================================================')

运行结果

    张三先生(女士),您好!
      这是2019年12月的工资条信息:
         销售底薪¥3000
         交通补助¥1000
         餐补¥1000
      由于您当月出色的表现,
      公司决定奖励你¥10000
      当月工资总计15000
      希望张兄弟(姐妹)继续为了公司加油~
    
                         from 杭州XX公司
。。。。。省略。。。。。
    赵六先生(女士),您好!
      这是2019年12月的工资条信息:
         财务底薪¥5000
         交通补助¥500
         餐补¥500
      由于您当月出色的表现,
      公司决定奖励你¥1000
      当月工资总计7000
      希望赵兄弟(姐妹)继续为了公司加油~
    
                         from 杭州XX公司
    ===============================================================

群发邮件

群发邮件前需要先安装好zmail,学一下zmail使用方法

使用zmail群发邮件

!pip3 install zmail
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Requirement already satisfied: zmail in /usr/local/lib/python3.7/site-packages (0.2.7)
import zmail
import pandas as pd
# 邮件的pop设置后的密码
server =zmail.server('你的qq邮箱','POP设置后的密码')
#计算工资
df = pd.read_excel('工资条.xlsx')
df['工资总计'] = df.eval("底薪+奖金+交通补助+餐补")
#群发邮件
for idx, employee in df.iterrows():
    #工资条内容
    info = template.format(name=employee['姓名'],
                           gangwei=employee['岗位'],
                           base=employee['底薪'],
                           transport=employee['交通补助'],
                           food=employee['餐补'],
                           bonus=employee['奖金'],
                           salary=employee['工资总计'],
                           familyname=employee['姓名'][0],
                           company='杭州XX',
                           date='2019年12月')
    #邮件内容
    mailcontent ={'subject':'{} 工资条到了, 注意查收!'.format(employee['姓名']),
                  'content_text': info,
                  'attachments': 'img/感谢有你.png' }
    server.send_mail(employee['邮箱'], mailcontent)
    print('{} 的工资条发送成功!'.format(employee['姓名']))
print('\n'*5)
print('ヽ( ̄▽ ̄)و全部通知完成,下班,回家,过元旦~')

运行结果

    张三 的工资条发送成功!
    李四 的工资条发送成功!
    王五 的工资条发送成功!
    赵六 的工资条发送成功!
    ヽ( ̄▽ ̄)و全部通知完成,下班,回家,过元旦~

运行效果

邮箱POP设置

参考这篇文章  使用zmail群发邮件    设置POP

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值