首页 > 其他 > 详细

20201203-5 批量发送 email

时间:2020-12-03 22:07:40      阅读:41      评论:0      收藏:0      [点我收藏+]

1-1 批量发送 email

 1 from openpyxl import load_workbook
 2 import smtplib
 3 from email.mime.text import MIMEText
 4 from email.mime.multipart import MIMEMultipart
 5 
 6 # 设置邮箱账号
 7 account = input(请输入邮箱账户:)
 8 # 设置邮箱授权码
 9 token = input(请输入邮箱授权码:)
10 # 设置邮箱服务器,端口
11 smtp = smtplib.SMTP_SSL(smtp.qq.com, 465)
12 # 登录qq邮箱
13 smtp.login(account, token)
14 
15 # 打开工作表
16 wb = load_workbook(./04_月考勤表.xlsx)
17 sheet = wb.active
18 
19 # 编写正文内容
20 content = 四月的考勤表已出,其中迟到时长超出 45 分钟的人员如下:\n
21 for row_data in sheet.iter_rows(min_row=2, values_only=True):
22     # 获取迟到时长超过45分钟的人员
23     if row_data[2] > 45:
24         content += 姓名:{name} 迟到总时长:{time} \n.format(name=row_data[1], time=row_data[2])
25 content += 详情见附件内容
26 
27 # 创建简单邮件对象
28 email_content = MIMEText(content, plain, utf-8)
29 
30 # 读取工作表文件数据
31 with open(./04_月考勤表.xlsx, rb) as f:
32     file_data = f.read()
33 
34 # 设置内容类型为附件
35 attachment = MIMEText(file_data, base64, utf-8)
36 # 设置附件标题以及文件类型
37 attachment.add_header(Content-Disposition, attachment, filename=04_月考勤表.xlsx)
38 
39 # 创建复合邮件对象
40 msg = MIMEMultipart()
41 
42 # 添加正文到复合邮件对象中
43 msg.attach(email_content)
44 
45 # 添加附件到复合邮件对象里
46 msg.attach(attachment)
47 
48 # 设置发送者信息
49 msg[From] = 陈知枫
50 # 设置接受者信息
51 msg[To] = 闪光金融的各位同事们 
52 # 设置邮件标题
53 msg[Subject] = 04_月考勤表
54 
55 # 发送邮件
56 smtp.sendmail(account, example@mail.com, msg.as_string())  
57 # 关闭邮箱服务
58 smtp.quit() 

技术分享图片

 1-1-1

 1 from openpyxl import load_workbook
 2 import smtplib
 3 from email.mime.text import MIMEText
 4 from email.mime.multipart import MIMEMultipart
 5 
 6 # 设置邮箱账号
 7 account = input(请输入邮箱账户:)
 8 # 设置邮箱授权码
 9 token = input(请输入邮箱授权码:)
10 # 设置邮箱服务器,端口
11 smtp = smtplib.SMTP_SSL(smtp.qq.com, 465)
12 # 登录qq邮箱
13 smtp.login(account, token)
14 
15 # 打开工作表
16 wb = load_workbook(./04_月考勤表.xlsx)
17 sheet = wb.active
18 
19 # 编写正文内容
20 content = 四月的考勤表已出,其中迟到时长超出 45 分钟的人员如下:\n
21 for row_data in sheet.iter_rows(min_row=2, values_only=True):
22     # 获取迟到时长超过45分钟的人员
23     if row_data[2] > 45:
24         content += 姓名:{name} 迟到总时长:{time} \n.format(name=row_data[1], time=row_data[2])
25 content += 详情见附件内容
26 
27 # 设置正文,创建简单邮件对象
28 email_content = MIMEText(content, plain, utf-8)
29 
30 # 读取工作表文件数据
31 with open(./04_月考勤表.xlsx, rb) as f:
32     file_data = f.read()
33 
34 # 设置内容类型为附件
35 attachment = MIMEText(file_data, base64, utf-8)
36 # 设置附件标题以及文件类型
37 attachment.add_header(Content-Disposition, attachment, filename=04_月考勤表.xlsx)
38 
39 # 创建复合邮件对象
40 msg = MIMEMultipart()
41 
42 # 添加正文到复合邮件对象中
43 msg.attach(email_content)
44 
45 # 添加附件到复合邮件对象里
46 msg.attach(attachment)
47 
48 # 设置发送者信息
49 msg[From] = 陈知枫
50 # 设置接受者信息
51 msg[To] = 闪光金融的各位同事们 
52 # 设置邮件标题
53 msg[Subject] = 04_月考勤表
54 
55 # 发送邮件
56 smtp.sendmail(account, example@mail.com, msg.as_string())  
57 # 关闭邮箱服务
58 smtp.quit() 

1.第 6~13 行实现了第一个功能块:登录邮箱。

2.第 15~28 行实现第二个功能块:设置正文内容。

3.第 30~37 行实现第三个功能块:设置附件内容。

4.第 40~54 行实现第四个功能块:设置邮件内容及信息。我们在这里会把正文和附件整合,并设置好发送者、接收者、标题等信息。

5.第 56~59 行实现第五个功能块:发送邮件并关闭邮箱服务。

 

20201203-5 批量发送 email

原文:https://www.cnblogs.com/azxsdcv/p/14082378.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!