如何使用Python邮箱自动群发工资条
短信预约 -IT技能 免费直播动态提醒
这篇文章给大家介绍如何使用Python邮箱自动群发工资条,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
Python主要用来做什么
Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬虫;4、嵌入式应用开发;5、游戏开发;6、桌面应用开发。
一、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''' <h4>{name},你好</h4> <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''' <h4>{name},你好</h4> <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邮箱自动群发工资条就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341