Python - 通过Outlook 2007/2010和win32com发送HTML格式的电子邮件

时间:2014-07-09 09:54:31

标签: python html email outlook

有没有办法使用Python的win32com.client(利用Outlook 2007/2010)发送HTML格式的电子邮件。我现在使用的格式如下:

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都会格式化并编码为纯文本(例如<变为&lt;)。有没有办法告诉Outlook正文内容是HTML,应该这样解析?

1 个答案:

答案 0 :(得分:12)

这是以html格式制作正文的方法

newMail.HTMLBody  = htmltext