outlook html显示问题,Outlook 2013显示HTML代码而不是实际数据

我正在使用win32com.client,python 2.7.x并outlook 2013在windows平台上.

我需要将HTML文件的内容发布到outlook消息正文.

我按照这里的帖子,这里和这里关于如何保存excel HTML和粘贴数据outlook.

但是,当我通过win32com.client.Dispatch而不是看到消息来阅读文件时,我看到的是HTML代码.

以下是将已处理xlsx文件转换为html使用格式的代码win32.com.

#Section to convert excel workbook to html

myfile = os.getcwd()+ "\\" + outfile

newfile = os.getcwd()+ "\\" + "emailData.html"

xl = EnsureDispatch('Excel.Application')

#xl.Visible = True

wb3 = xl.Workbooks.Open(myfile)

wb3WorkSheet = wb3.Worksheets(1)

wb3WorkSheet.Activate()

wb3.SaveAs(newfile, constants.xlHtml)

wb3.Close(True)

xl.Workbooks.Close()

xl.Quit()

del xl

上面的输出newfile基本上是保存为html的xlsx文件的导出.然后通过mail.body处理程序打开它,该处理程序应该读取并显示outlook中的实际内容.

这是代码.

from win32com.client.gencache import EnsureDispatch

from win32com.client import constants, Dispatch

#Create and open mail message

def Emailer(text, subject, recipient):

outlook = Dispatch('outlook.application')

mail = outlook.CreateItem(0)

mail.To = recipient

mail.Subject = subject

mail.HtmlBody = text

#mail.HtmlBody = open(newfile).read()

mail.body = open(newfile).read()

attachment1 = os.getcwd()+"//"+outfile

mail.Attachments.Add(attachment1)

mail.Display(True)

Emailer(pageTemplate,

"test subject",

"abc@yahoo.com"

)

所以,当我打开newfile(html文件)时,mail.body = open(newfile).read()它会html content在新的Outlook电子邮件正文中粘贴.

当我打开newfile(html文件)使用mail.HtmlBody = open(newfile).read()它在outlook电子邮件正文中给出以下错误

ERROR: This page uses frames, but your browser doesn't support them.

关于这种行为的任何想法?

我基本上想在outlook电子邮件中复制/粘贴html文件(这是一个导出xlsx).不确定上述方法是否正确或有其他替代方法.

有没有办法将HTML框架粘贴/渲染到Outlook电子邮件正文中?

任何指针都表示赞赏.

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2021 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值