【问题标题】:Python win32com outlook attach file with "insert as text" method使用“插入为文本”方法的 Python win32com Outlook 附加文件
【发布时间】:2013-03-19 08:48:29
【问题描述】:

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

非常感谢。

【问题讨论】:

  • this 示例来看,您似乎在Attachments.Add() 调用中缺少一些参数。
  • 来自 MSDN 站点,方法参数仅包括(Source、Type、Position、DisplayName)。我没有看到与设置“插入为文本”功能相关的参数。
  • 是的,和我的链接说的一样……但是你只在代码中传递了一个参数。

标签: python outlook win32com


【解决方案1】:

你可以用这个

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 连接

【讨论】:

  • 如果这对您有帮助,请告诉我:)
猜你喜欢
  • 2017-04-12
  • 2022-01-15
  • 2022-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-01
  • 2013-05-07
相关资源
最近更新 更多