Python win32com Outlook 使用“插入为文本”方法附加文件

use*_*514 0 python outlook win32com

我正在尝试使用 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()
Run Code Online (Sandbox Code Playgroud)

非常感谢您。

小智 5

你可以用这个

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()
Run Code Online (Sandbox Code Playgroud)

您可能需要先将 html 文件转换为字符串,然后与 mail.body 连接