其实使用win32com调用outlook已经有很多文章了,但是我发现里面极少有介绍正文带图片的发送办法,以及如何避免踩坑,今天我把自己的心得发一下
import as win32
outlook = ('')
Mail_Item = (0)
Mail_Item.('12345@')
Mail_Item.Subject ='test-看看outlook和网页版里是否分别都能显示图片'
Mail_Item.BodyFormat = 2
Mail_Item.(r'C:\Users\asus\PycharmProjects\xlwings\') # 先把要插入的图片当作一个附件添加
Mail_Item.(r'd:\1\') # 添加正常的附件
Mail_Item.HtmlBody = "<div><img src='' /></div>" # 然后在htmlbody里面调用这个图片,就可以进入到正文里面了
# 注意这里有两个坑:1、文件名千万别用中文,否则会出错;2、一定要把outlook的窗体展示出来再发送,也就是Display(),否则,除非对方也是outlook客户端,否则图片会无法显示
Mail_Item.Display() # 这一步非常重要,没了这一步,在网页版邮箱就无法显示图片
Mail_Item.Send()