Python win32com 使用“作为文本插入”方法附加文件到 Outlook
我正在尝试用 Python 的 win32com 库通过 Outlook 发送一个 HTML 网页。不过,我不知道怎么设置附件的调用,以便用“插入为文本”的方式来添加附件。
有没有人知道怎么做呢?
import win32com.client
from win32com.client import Dispatch, constants
const=win32com.client.constants
olMailItem = 0x0
obj = win32com.client.Dispatch("Outlook.Application")
newMail = obj.CreateItem(olMailItem)
newMail.Subject = "I AM SUBJECT!!"
newMail.Body = "I AM IN THE BODY\nSO AM I!!!"
newMail.To = "abc@abc.com"
attachment1 = "x:\\report.htm"
newMail.Attachments.Add(Source=attachment1)
newMail.display()
newMail.Send()
非常感谢。
1 个回答
7
你可以使用这个
import win32com.client
from win32com.client import Dispatch, constants
const=win32com.client.constants
olMailItem = 0x0
obj = win32com.client.Dispatch("Outlook.Application")
newMail = obj.CreateItem(olMailItem)
newMail.Subject = "I AM SUBJECT!!"
newMail.To = "abc@abc.com"
attachment1 = "x:\\report.htm"
with open(attachment1 , 'r') as myfile:
data=myfile.read()
newMail.Body = "Please Find the Report here " + data
newMail.HTMLBody = "I AM IN THE BODY\nSO AM I!!!" + data
newMail.Attachments.Add(Source=attachment1)
newMail.display()
newMail.Send()
你可能需要先把html文件转换成字符串,然后再和邮件的内容合并在一起。