Python - 通过Outlook 2007/2010和win32com发送HTML格式邮件
有没有办法用Python的win32com.client发送HTML格式的邮件呢?这个工具是用来操作Outlook 2007/2010的。我现在用的格式是这样的:
import win32com.client
olMailItem = 0x0
obj = win32com.client.Dispatch("Outlook.Application")
newMail = obj.CreateItem(olMailItem)
newMail.Subject = "the subject"
newMail.Body = "body text"
newMail.To = "recipient@example.com"
attachment1 = "c:\\mypic.jpg"
newMail.Attachments.Add(attachment1)
newMail.Send()
这个代码会通过Outlook发送一封邮件,发件人是当前登录的用户,邮件会发送给指定的收件人,包含主题、内容和附加的图片。
我想要发送一张内嵌的图片,这可以通过“嵌入式”附件来实现,或者直接在HTML中链接到一张图片,或者用HTML和Base64编码的图片来嵌入一张图片。
我更喜欢用HTML这种方式,但我添加到邮件正文中的任何HTML内容都会被当作普通文本处理(比如<
会变成<
)。有没有办法告诉Outlook,邮件的正文内容是HTML格式,应该按照HTML来解析呢?
1 个回答
13
这是用HTML格式制作网页主体的方法
newMail.HTMLBody = htmltext