1.问题:网上大多数都是用SMTP协议自动发邮件,但是由于公司权限管控没办法调用outlook Smtp协议
想看看如何用win32模块实现批量发送带附件的邮件呢
2需求
收件人为多人,存在表格中,自动获取遍历
带附件
带图片
生成邮件的部分
#导入库
import win32com.client
outlook = win32com.client.Dispatch("Outlook.Application")
for i in range(10): #假设发10封
mail = outlook.CreateItem(0) # 生成邮件
mail.To = 'mayun' # 收件人
mail.CC = '233s' # 抄送
mail.Subject='这里是主题'
mail.HTMLBody = html #邮件内容需要以html编写,可以先写一封发给自己查看网页代码
mail.Attachments.Add(path) #添加附件
mail.Save() # 保存邮件,必需
读取表格可以使用xlrd,使用方法如下:
https://blog.csdn.net/Zhong____/article/details/119818730
不调用outlook的,自己搭建smtp服务器呀
理解上要清晰;
1、outlook是客户端,是smtp的一种实现;
2、除了outlook之外,还有常见的qq邮箱,网易邮箱也有实现smtp;
3、你要发邮件,有2种做法,
第一是用现有的邮件服务,就是qq邮箱和网易邮箱之类的;
第二是自己实现邮件服务,比如python中,可以依靠两种插件实现简单 邮件服务
pip install smtplib
pip install email
发送邮件目前smtp是主流的一个协议,取掉这个,选择会少很多,底层是这几个协议,还有其他的协议,例如pop3,imap等等
权限管控,是没有网麽