1

我正在尝试使用 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()

非常感谢您。

4

1 回答 1

6

你可以用这个

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 文件转换为字符串并与 mail.body 连接

于 2016-05-25T10:43:16.503 回答