“”"
要求:根据工资表.整理后给员工发邮件通知
思路"先把工资条 整理出来,嵌入到发邮件系统里面
“”"
# -*- coding:utf-8 -*-
import smtplib
from email.mime.text import MIMEText # text邮件正文
from email.utils import formataddr # 邮件头
import pandas as pd
# 邮箱账户 信息
发件人邮箱 = '79117901@qq.com' # 发件人邮箱账号
发件人密码 = 'zbelylzlqwdubjaj' # 发件人邮箱密码 生成的授权码
# 收件人邮箱 = "在循环里"
# 收件人昵称= "在循环里"
df=pd.read_excel("制造中心-车身部花名册3.23.xlsx")
for row in range(0,df.index.size): #遍历表格每一行
收件人邮箱=df.loc[row].values[2]
收件人昵称=df.loc[row].values[1]
# print(收件人昵称,收件人邮箱)
# print(df.loc[row])
工资条="<tr>" # 拼合 <tr><td>3</td><td>黄传军....</td></tr> 格式
for cell in df.loc[row]:
# print(cell)
工资条+=f"<td>{cell}</td>" #把这行 拆开 ,加入 <td></td> 竖边框
工资条+= "</tr>" # 边框封口
print("工资条",工资条)
# 工资条 标签行
标签 = "<tr>"
for col in df.columns.values : #把这行[标签] 拆开 ,加入 <td></td> 竖边框
标签 += f"<td>{col}</td>"
标签 += "<tr>"
print(标签)
# 邮箱头(内容)信息
邮件内容=f"""
<H5>{收件人昵称},你好这是这月的工资单,请查收....</h5>
<p></p>
<table border="", style="text-align:center"> # css 居中
{标签}
{工资条}
</table> # 边框
"""
# 以下四条个是 邮件头 内容标准格式,尽量不缺
msg=MIMEText(邮件内容,"html","utf-8")
msg["From"]=formataddr(["发件人昵称",发件人邮箱])
msg["To"]=formataddr([收件人昵称,收件人邮箱])
msg["Subject"]="邮件主题 测试邮件"
# 登录邮箱服务器并发送
邮件服务器=smtplib.SMTP_SSL("smtp.qq.com",465) # 找到 服务器地址及端口号
邮件服务器.login(发件人邮箱,发件人密码) # 登录 服务器 (邮箱,密码)
邮件服务器.sendmail(发件人邮箱,[收件人邮箱],msg.as_string()) # 发送邮件