Python群发邮件每个收件人的附件都不相同

import smtplib
import xlrd
from email.mime.multipart import MIMEMultipart 
from email.mime.text import MIMEText
from email.header import Header
from os.path import basename
date=xlrd.open_workbook('名单.xls') #指定的发送邮件列表,高版本的不能正常运行
sheet=date.sheets()[0] #第一个工作表
cEmailSubject = sheet.cell_value(1,6) # 设置邮件主题--变量,引用H列对应文字内容
# 5. 添加文字内容
cText1=sheet.cell_value(1,7)   # 正文第一段内容,引用H列对应文字内容
cText2=sheet.cell_value(1,8)   # 正文第二段内容,引用H列对应文字内容
cText3=sheet.cell_value(1,9)   # 正文后数第二行内容,引用H列对应文字内容
cText4=sheet.cell_value(1,10)   # 正文最后一行内容,引用H列对应文字内容
for a in range(sheet.nrows-1):
    i = a + 1
    name          = sheet.cell_value(i,1)  # 收件人姓名
    cEmailAddress = sheet.cell_value(i,2)  # 接收邮件地址
    cFileName1    = sheet.cell_value(i,3)  # 附件1
    cFileName2    = sheet.cell_value(i,4)  # 附件2
    
    con = smtplib.SMTP_SSL('smtp.126.com', 465)# 1. 连接邮箱服务器
    con.login('qwe9898@126.com', 'qwe9898')# 2. 登录邮箱
    msg = MIMEMultipart()# 3. 创建邮件对象
    
    #cEmailcontent = name+"你好!"+"请按要求执行"
    # 4. 设置邮件主题
    subject = Header(cEmailSubject, 'utf-8').encode()
   
    text = MIMEText(f'{name}:<br/>您好!<h1>{cText1}<br/>{cText2}<h1>{cText3}<br/>{cText4}','html','utf-8')
    msg.attach(text)
    msg['Subject'] = subject    # 邮件主题
    msg['From'] = '服务中心 <qwe9898@126.com>'  # 6. 设置邮件发送者
    msg['To'] = cEmailAddress  # 7. 设置邮件接受者
    file1 = MIMEText(open(cFileName1, 'rb').read(), 'base64', 'utf-8') 
    file1["Content-Disposition"] = 'attachment; filename="{}"'.format(basename(cFileName1))
    msg.attach(file1)
    file2 = MIMEText(open(cFileName2, 'rb').read(), 'base64', 'utf-8')
    file2["Content-Disposition"] = 'attachment; filename="{}"'.format(basename(cFileName2))
    msg.attach(file2)

    # 发送邮件
    con.sendmail('am9861@126.com',cEmailAddress,msg.as_string())
    
    print(name+","+cEmailAddress+",邮件发送成功!")
con.quit()
# 多人个收件者,多个独立不同的附件,测试成功2023年8月3日 16:20
# 两个附件,分别测试了.Txt、.pdf、.dbf三种类型的文件,可以正常发送。
# 正文使用html格式,<br/>换行;<h1>换段
# 将基础信息存入Excel文件中,字段结构:序号|收件人|收件人邮箱|邮件附件1|邮件附件2
# 第1行是标题,附件使用相对路径表示如:files\test01.PDF


 

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值