您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:发工资啦!教你用Python实现邮箱自动群发工资条

51自学网 2021-10-30 22:41:17
  python
这篇教程发工资啦!教你用Python实现邮箱自动群发工资条写得很实用,希望能帮到您。

一、excel的内容

在这里插入图片描述

二、效果

在这里插入图片描述

三、需要用的库:

  • openpyxl
  • smptlib
  • email.mime.text
  • email.header

四、实现步骤

4.1 获取excel表的数据

wb = load_workbook('数据表.xlsx')sheet = wb.activefor row in sheet:	for cell in row:        print(cell.value)

4.2 编写邮件内容

使用字符串拼接成html

for row in sheet:        tbody = '<tr>'        cnt += 1        if cnt == 1:            for cell in row:                thead += f'<th>{cell.value}</th>'            thead += '</thead>'        else:            for cell in row:                tbody += f'<td>{cell.value}</td>'            tbody += '</tr>'        name = row[0].value        mail = row[1].value        #  2.编写邮件内容        content = f'''            <h3>{name},你好</h3>            <p>请查收你在2025年 5月1日 - 5月31 日的工资</p>            <table border='1px solid black'>            {thead}            {tbody}            </table>        '''

4.3 发送邮件

# 发送邮件class Test:    def ck_log(self):        pass    def send_email(self, econtent, ename, mail):        host = 'smtp.qq.com'        user = '你的邮箱'        password = '你的授权码'        receivers = [mail]        subject = '员工工资表'        msg = MIMEText(econtent, 'html', 'utf-8')        msg['From'] = Header('有限公司')        msg['To'] = Header(ename)        msg['Subject'] = Header(subject, 'utf-8')        try:            obj = smtplib.SMTP_SSL(host, 465)            obj.login(user, password)            obj.sendmail(user, receivers, msg.as_string())            print("邮件发送成功!")        except smtplib.SMTPException as e:            print("Error: 无法发送邮件")            print(e)

五、所有代码

from openpyxl import load_workbookimport smtplibfrom email.mime.text import MIMETextfrom email.header import Header'''1.获取excel表的数据2.编写邮件内容3.发送邮件'''# 发送邮件class Test:    def ck_log(self):        pass    def send_email(self, econtent, ename, mail):        host = 'smtp.qq.com'        user = '1479898695@qq.com'        password = 'bijoplffwqqlbaci'        receivers = [mail]        subject = '员工工资表'        msg = MIMEText(econtent, 'html', 'utf-8')        msg['From'] = Header('有限公司')        msg['To'] = Header(ename)        msg['Subject'] = Header(subject, 'utf-8')        try:            obj = smtplib.SMTP_SSL(host, 465)            obj.login(user, password)            obj.sendmail(user, receivers, msg.as_string())            print("邮件发送成功!")        except smtplib.SMTPException as e:            print("Error: 无法发送邮件")            print(e)if __name__ == '__main__':    wb = load_workbook('数据表.xlsx')    o = Test()    cnt = 0    sheet = wb.active    thead = '<thead>'    #  1.获取excel表的数据    for row in sheet:        tbody = '<tr>'        cnt += 1        if cnt == 1:            for cell in row:                thead += f'<th>{cell.value}</th>'            thead += '</thead>'        else:            for cell in row:                tbody += f'<td>{cell.value}</td>'            tbody += '</tr>'        name = row[0].value        mail = row[1].value        #  2.编写邮件内容        content = f'''            <h3>{name},你好</h3>            <p>请查收你在2025年 5月1日 - 5月31 日的工资</p>            <table border='1px solid black'>            {thead}            {tbody}            </table>        '''        #  3.发送邮件        if cnt == 3:            print('content:', content)            print(name, mail)            o.send_email(content, name, mail)

到此这篇关于发工资啦!教你用Python实现邮箱自动群发工资条的文章就介绍到这了,更多相关Python自动群发工资条内容请搜索51zixue.net以前的文章或继续浏览下面的相关文章希望大家以后多多支持51zixue.net!


浅谈numpy.where() 的用法和np.argsort()的用法说明
Python中的min及返回最小值索引的操作
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。