利用python批量发送工资条

python批量发送工资条邮件

  1. 工资excel表格格式如下所示:

    image-20220125163245955

  2. 使用python批量给每位员工发送工资条信息,格式如下:

  3. 思路:

    • 首先是加载excel,获取当前sheet表格

      salay = load_workbook('大唐建设集团-2022年5月工资.xlsx', data_only=True)
      ws = salay.active
    • 登录所使用的发件邮箱服务器

      # 登录邮箱服务器
      smtp_obj = smtplib.SMTP_SSL('smtp.qq.com', 465)
      # smtp_obj.set_debuglevel(1)
      smtp_obj.login('vision.wangpc@foxmail.com', "tsjodbaab") # 腾讯邮箱,客户端登录使用授权码

      这里有坑:邮箱登录的的账户密码有的邮箱是密码,有的是使用授权码,腾讯qq邮箱就是使用授权码

      使用新浪邮箱时候,登录不上服务器,原因未知!

    • 遍历sheet表,获取表头信息。

      count = 0
      for row in ws:
          count += 1
          if count == 1:  # 表头信息读取一次即可
              table_header = '<thead>'
              for cell in row:
                  table_header += f'''<th >{cell.value}</th>'''
              table_header += '</thead>'

      读取excel第一行,构造表头,第一行只读取一次,所以加了一个计数变量.count

      table_header是构造工资条表头信息的html文本

    • 读取每一行数据,获取员工姓名、邮箱以及工资条信息,构造邮件正文的完整内容!

      else:
          msg_context_data = '<tr>'
          for cell in row:  # 一次读取员工工资条
              msg_context_data += f'''<td>{cell.value}</td>'''
              msg_context_data += '</tr>'
              mail = row[1].value
              name = row[2].value
              msg_context = f'''
                       <h3>{name},你好:</h3>
                       <p>请查收你2022-05月的工资条</p>
                       <table border="1px"> 
                         {table_header} 
                         {msg_context_data} 
                     </table>                       
                   '''

      msg_context_data是工资条信息那一行html格式的文本数据

    • 每读取一行数据,发送一封邮件

      msg = MIMEText(msg_context, 'html', 'GBK')
      msg['from'] = Header('xx人力资源部', 'GBK')
      msg['To'] = Header('name', 'GBK')
      msg['Subject'] = Header('2022.5月工资条', 'GBK')
      
      smtp_obj.sendmail('vision.wangpc@foxmail.com', mail, msg.as_string()) # 没读取一行信息发送一封邮件
  4. 总结反思:

    这个小程序就是复习实践python发邮件以及简单的excel的处理,python的用处还是很大,也很贴近实际生活,有待多多发觉!

完整代码获取,关注左侧公众号回复:批量发邮件

转载前请联系我,未经允许请勿转载:
作者:vision
标题:利用python批量发送工资条
原文链接:https://www.wangpc.cc/python/python-send-salary-bill/
上一篇
下一篇