如何用python批量发送工资条邮件
作者:vision_wang 发布时间:2021-03-07 10:53:09
标签:python,邮箱,工资条
工资excel表格格式如下所示:
使用python批量给每位员工发送工资条信息,格式如下:
思路:
首先是加载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()) # 没读取一行信息发送一封邮件
总结反思:
这个小程序就是复习实践python发邮件以及简单的excel的处理,python的用处还是很大,也很贴近实际生活,有待多多发觉!
来源:https://blog.csdn.net/vision666/article/details/122688125
0
投稿
猜你喜欢
- 本文实例讲述了python时间日期操作方法。分享给大家供大家参考,具体如下:#coding=utf-8import timeimport d
- 转自微信公众号:机器学习社区,经作者授权转载时间序列分析是数据科学中一个非常重要的领域,它主要包含统计分析、检测变化点、异常检测和预测未来趋
- 写完调用天气接口的demo之后,小程序调用天气接口并且渲染在页面,顺便再调用了一下美图的接口API:美图APIurlwxml:<vie
- 1.Python3读取hdf文件最开始使用Python导入pyhdf包的时候是可以的,但是当导入pyhdf.SD的时候就出现了以下问题:我查
- 一,进程的理论基础一个应用程序,归根结底是一堆代码,是静态的,而进程才是执行中的程序,在一个程序运行的时候会有多个进程并发执行。进程和线程的
- Django结合ajax进行页面实时更新踩过的坑简单记录一下在使用Django、echarts和ajax实现数据动态更新时遇到的一些坑: 1
- 数据概况Fashion-mnist经典的MNIST数据集包含了大量的手写数字。十几年来,来自机器学习、机器视觉、人工智能、深度学习领域的研究
- 群里有人提出这么一个需求:每天都会传过来一份 Word 文档,里面有多个 Excel 附件,需要把 Excel 内容读取出来。第一反应是使用
- 开发的很多场景中都会用到手机号的校验和验证码的校验,具体实现如下<div> <input type="text&
- PDO::setAttributePDO::setAttribute — 设置属性(PHP 5 >= 5.1.0, PECL pdo
- 本文实例讲述了Python中super函数用法。分享给大家供大家参考,具体如下:这是个高大上的函数,在python装13手册里面介绍过多使用
- 现象:生产中心进行拷机任务下了300个任务,过了一阵时间后发现任务不再被调度起来,查看后台日志发现日志输出停在某个时间点。分析:1、首先确认
- 需求背景公司前端使用 Highcharts 构建图表,图表的图例支持点击显示或隐藏相应的指标。现在有需求后端需要存储用户在前端点击后显示图表
- 错误提示Invalid byte 1 of 1-byte UTF-8 sequence原因分析在中文版的window下java的默认的编码为
- 本文要实现的功能是:根据下拉列表的选项将数据库中对应的内容显示在页面,选定要排除的选项后,提交剩余的选项到数据库。为了方便前后台交互,利用了
- CSS与JS紧密配合,为我们的页面增添了很多别致的效果。为了达到某种特殊的效果我们需要用Javascript动态的去更改某一个标签的CSS属
- 逐步指示这是提供给更喜欢阅读的人的视频文本版本。我们将创建一个类似黑客新闻 或Reddit的社交新闻网站。它将被称为“钢铁传闻”,作为一个分
- 其中 offset and fetch 最重要的新特性是 用来 分页,既然要分析 分页,就肯定要和之前的分页方式来比较了,特别是 Row_N
- 今天在看罗素的《西方哲学史》时,忽然想到了这个想法,我认为可以从另外一个角度来看“用户体验“的影响因素。上面这个图是我今天思考的一部分,这是
- 本文实例讲述了Python中逗号的三种作用。分享给大家供大家参考。具体分析如下:最近研究python 遇到个逗号的问题 一直没弄