Winforms 如何将图像嵌入Outlook HTML电子邮件?

Winforms 如何将图像嵌入Outlook HTML电子邮件?,winforms,outlook,html-email,Winforms,Outlook,Html Email,我们有一个Winforms应用程序,它支持将HTML块拖放到Outlook(HTML)邮件消息中 文本块是好的 但是我们如何处理图像呢?让我们假设我们不希望在线托管图像,而是希望通过电子邮件发送它们。还假设我们确实希望以内联方式查看图像,而不是作为附件(当然,收件人的电子邮件客户端支持附件) 如果您查看Outlook邮件的HTML源,其中有图像的“cid”标记(我猜它指向作为附件的图像),但是我们如何生成cid/contentid?如果您使用HTML制作整个电子邮件,您可以在google中搜索同

我们有一个Winforms应用程序,它支持将HTML块拖放到Outlook(HTML)邮件消息中

文本块是好的

但是我们如何处理图像呢?让我们假设我们不希望在线托管图像,而是希望通过电子邮件发送它们。还假设我们确实希望以内联方式查看图像,而不是作为附件(当然,收件人的电子邮件客户端支持附件)


如果您查看Outlook邮件的HTML源,其中有图像的“cid”标记(我猜它指向作为附件的图像),但是我们如何生成cid/contentid?

如果您使用HTML制作整个电子邮件,您可以在google中搜索同一图像,并将其放入其中:


您还可以使用photobucket来承载图像(如果必须的话)。基本上,您必须拥有图像的源。

您可以使用base64编码器将图像嵌入html电子邮件中。这相当复杂,但你基本上把图像编码为电子邮件中的文本字符串,然后再进行解释

不过,这并不适用于所有电子邮件客户端

看看这个,看看它是否是你想要的:

编辑


如果流程中的手动步骤是一个选项,您可以这样做:

  • 使用链接到本地保存的图像文件的
    标记,自动或手动将HTML创建为保存的HTML文件
  • 选择HTML文件作为附件时,使用“插入”按钮上向下箭头下方的“插入为文本”选项将HTML附加到Outlook电子邮件 这将使用文件中的HTML填充HTML电子邮件,并嵌入所有图像。我相信这个工具使用Base64编码来嵌入Sam电子邮件中描述的图像

    根据工作流程,此方法可能比自己将图像转换为Base64更容易


    请注意。

    否,您可以将图像复制/粘贴到Outlook邮件中,然后。。。没有在线sourceOutlook不支持嵌入式图像。@Martin我在回答中明确指出,并非所有电子邮件客户端都受支持。如果您跟随链接,它会更详细地解释哪些客户端支持base64编码,哪些不支持。@Sam-正确,但我担心问题是关于Outlook的。@Martin,正如我在回答中解释的那样。如果检查更新的链接,您将发现嵌入的图像在Outlook 2003中工作。由于问题中未指定版本,这可能是OP要求的。这是否真的经过测试并被接受为答案。我也这样做,但不是嵌入到cid或base64中,而是作为outlook 2013中本地图像的url