【问题标题】:Embed image into outlook email将图像嵌入到 Outlook 电子邮件中
【发布时间】:2022-09-25 01:07:51
【问题描述】:

我想将保存在本地目录中的图像嵌入到 Outlook 电子邮件中。已经定义了一个函数来做到这一点,并根据它添加了 html。但是,图像没有出现。文件路径不是问题,因为我已经检查过它是否正常工作。我做错了什么?

def Emailer(text, subject, recipient, cc):
    import win32com.client as win32
    import os

    outlook = win32.Dispatch(\'outlook.application\')
    mail = outlook.CreateItem(0)
    mail.To = recipient
    mail.CC = cc
    mail.Subject = subject
    mail.HtmlBody = text
    mail.Display(True)

MailSubject = \"Daily Report for \" + date_slash
MailInput =\"\"\"

<div>
    <img src={}></img>
</div>
<div>
    <p>
</div>
<div>
    <img src={}></img>
</div>
<div>
    <p>
</div>
<div>
    <img src={}></img>
</div>
<div>
    <p>
</div>
<div>
    <img src={}></img>
</div>
<div>
    <p>
</div>
<div>
    <img src={}></img>
</div>
\"\"\"

MailInput = MailInput.format(date_slash, sum_path, ovdv_path, cot_path, rub_path ,pnl_path) MailRecipient =\"xxx@yyy.com;\" MailCc = \"xxx@yyy.com;\"

    标签: html outlook html-email


    【解决方案1】:

    远程收件人显然无法看到您机器上的文件。

    您需要将图像添加为附件 (Attachment = MailItem.Attachments.Add) 并使用 Attachment.PropertyAccessor.SetProperty 将 PR_ATTACH_CONTENT_ID MAPI 属性设置为 &lt;img> 标记中使用的值(例如,&lt;img src='cid:MyTestId'&gt;):

    Attachment.PropertyAccessor.SetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001E",  "MyTestId")
    

    【讨论】:

      猜你喜欢
      • 2012-03-30
      • 1970-01-01
      • 2010-10-01
      • 2011-10-30
      • 2021-12-23
      • 1970-01-01
      • 2020-02-08
      • 2021-09-19
      • 2011-07-12
      相关资源
      最近更新 更多