当前位置:   article > 正文

Python实现批量自动发工资条_python 批量发工资条

python 批量发工资条

一、场景描述

1.所有员工的工资条存放在一个excel表中,如下图格式

 2.需要实现自动把工资条发送到员工邮箱,并且工资条为表格形式的,如下图

 二、编写Python脚本,使用openpyxl  和  smtplib 模块完成,发送邮件为HTML格式的

  1. # -*- coding:utf-8 -*-
  2. # created by xxx
  3. from openpyxl import load_workbook
  4. import smtplib
  5. from email.mime.text import MIMEText # 邮件正文
  6. from email.header import Header # 邮件头
  7. # 加载excel文件,data_only=True(excel中工资为函数计算的值,邮件中要把公式转换为计算值)
  8. wb = load_workbook("5月工资.xlsx",data_only=True)
  9. sheet = wb.active
  10. # 登录网易邮箱
  11. smtp_obj = smtplib.SMTP_SSL("smtp.163.com", 465)
  12. smtp_obj.login("xxx@163.com", "xxxxxx")
  13. # 循环excel
  14. count = 0
  15. table_col_html = '<thead>' # 表格表头
  16. for row in sheet.iter_rows(min_row=1,max_row=26):
  17. count += 1
  18. if count == 1 : # first row
  19. for col in row:
  20. table_col_html += f"<th>{col.value}</th>"
  21. table_col_html += "</thead>"
  22. continue
  23. else:
  24. row_text = "<tr>" # 表格开始一行
  25. for cell in row:
  26. row_text += f"<td>{cell.value}</td>"
  27. row_text += "</tr>" # 表格结束一行
  28. name = row[2]
  29. staff_email = row[1].value
  30. print(staff_email,name.value)
  31. #邮件内容
  32. mail_body_context = f'''
  33. <h3>{name.value},你好:</h3>
  34. <p>请查收你的工资条。。。。</p>
  35. <table border="1px solid black">
  36. {table_col_html}
  37. {row_text}
  38. </table>
  39. '''
  40. msg_body = MIMEText(mail_body_context,"html","utf-8")
  41. #判断每发送10封重新登录一次(本脚本测试得知网易邮箱单次登录最多发送11封邮件,并且不适用于qq邮箱 qq邮箱会检测为垃圾邮件)
  42. if count % 10 == 0:
  43. smtp_obj = smtplib.SMTP_SSL("smtp.163.com", 465)
  44. smtp_obj.login("xxx@163.com", "xxxxxx")
  45. msg_body["From"] = Header("人事部", "utf-8") # 发送者
  46. msg_body["To"] = Header("员工", "utf-8") # 接收者
  47. msg_body["Subject"] = Header("2021年5月工资", "utf-8") # 主题
  48. # 发邮件
  49. smtp_obj.sendmail("xxx@163.com", [staff_email,],msg_body.as_string() )
  50. print(f"成功发送工资条到{staff_email}- {name.value}....")

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/432510
推荐阅读
相关标签
  

闽ICP备14008679号