python批量发送多人带附件邮件

11 篇文章 4 订阅
6 篇文章 1 订阅

近几天在问答区遇到这么一个问题,感觉还挺有意思。

楼主由于公司权限管控没办法调用outlook Smtp协议,想要使用 win32com 模块进行发送多封邮件的操作,联系人等储存在 excel 中。

思路:

使用 xlrd 读取表格内容,使用win32com进行邮件的编写。

实践:

创建实验数据

 

代码:

#导入库
import win32com.client 
import xlrd
outlook = win32com.client.Dispatch("Outlook.Application")
path = r'C:\Users\asdss\Desktop\实验场(实时删除)\我是附件.txt'
wb = xlrd.open_workbook(r'C:\Users\asdss\Desktop\实验场(实时删除)\联系人.xlsx')
ws = wb.sheet_by_index(0)
nrows = ws.nrows   #获取总行数
intent = [ws.row_values(i) for i in range(1,nrows)]  #第一行是标题,不要
for i in range(len(intent)):
    mail = outlook.CreateItem(0)  # 生成邮件
    mail.SentOnBehalfOfName='paaaasdce@maasds.com'    #指定发送邮箱
    mail.To = intent[i][0]  # 收件人
    mail.CC = intent[i][1]  # 抄送
    mail.BCC = intent[i][2]  # 密件抄送
    mail.Subject='这里是主题'
    mail.HTMLBody = '''<body>hello</body>'''  #html代码,邮件内容
    mail.Attachments.Add(path)  #添加附件
    mail.Save()  # 保存邮件,必需

结果:

邮件会出现在个人邮箱的草稿

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值