如何在Outlook签名中嵌入图片?

14

是否可以为Outlook 2003或以上版本创建一个HTML电子邮件签名,而不引用外部图像?

也就是说,使用那些特殊的“cid”引用,但将图像本身嵌入签名中,而不是在文件系统或网络上。

这是为一个Web应用程序生成基于用户各种输入的“标准”电子邮件签名。到目前为止,它已经成功地使用了单个“嵌入式”图像。但是一个新功能将需要可能添加多个微小的图像。

让用户保存一个电子邮件签名模板和一个图像到用户的计算机上已经是我想要要求用户的极限了。但是强制用户保存多个图像似乎在我看来有点过分。

因此,我的问题是如何将图像嵌入其中,而不必让用户先下载多个文件。

4个回答

6

能否对图片进行base64编码?

<a href="http://www.britblog.com/">
    <img
        src="data:image/gif;base64,R0lGODlhUAAPAKIAAAsLav///88PD9WqsYmApmZmZtZfYmdakyH5BAQUAP8ALAAAAABQAA8AAAPbWLrc/jDKSVe4OOvNu/9gqA /..../NcV9/j5+g4JADs="
        alt="Signature" width="80" height="15">
</a>

仅供参考


4
唯一的问题是它在Outlook 03或07中无法工作。在其他几乎所有客户端(包括gmail和yahoo)中都可以正常使用。 - bioffe

5
如果您使用file:/// URI 引用图像,Outlook 将自动将其更改为 cid: URI,并在插入时将图像作为附件添加。
顺便问一句:这与编程有什么关系吗?
编辑:考虑到您对问题的更新:恐怕这是不可能的。这不是特定于签名或 Outlook 的限制。这就是 HTML 的工作方式。如果您想在 HTML 文档中放置图像,这些图像必须是单独的。没有专有格式,Outlook 不会接受签名。
但是,如果这是针对内部应用程序,则可以通过将图像放置在网络共享上并通过 UNC 引用来解决此问题。
<img src="file://///ServerName/ShareName/FileName.png" />

似乎我仍然需要在客户端机器上将图像作为物理文件。 - BlackMael
1
是的。您想将它存储在哪里呢? 顺便说一下:它不一定要存储在客户端机器上。网络共享文件的UNC路径也可以使用。 - Oliver Giesen
澄清一下:我的意思是像这样的路径:file://///ServerName/ShareName/FileName.png - Oliver Giesen
哦!我喜欢那个想法。把文件存储在网络共享上。我想我们有了一个赢家 :) - BlackMael

1

适用于所有Outlook版本的方法

只需在同一目录下编写带有img文件的.html文件,使用Chrome打开它,选择并复制签名。 打开Outlook,进入新邮件 => 签名 => 新建签名 => 命名 将您的签名粘贴到字段中,然后按保存即可完成工作。

PS:请记住仅使用table、tr、td、img、a标签以避免与Outlook发生问题。永远不要使用p和div标签。


0
如果图像足够小,那么你可以使用data URI来处理它。

3
很遗憾,这似乎与 Outlook 邮件中损坏的 IE 渲染器版本不兼容。它甚至没有实现一个像样的 CSS 引擎。 - BlackMael

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接