我正在尝试发送包含图片代码的HTML内容的电子邮件
例如:
<img ng-src="data:image/gif;base64,iVBORw0KGgoAAAANSUhEU...gAAASwAAAAmCC" />
遗憾的是,我使用的邮件客户端都没有在图片标签上支持这种“src”。
尝试谷歌,它似乎是已知的问题,但没有一个答案对我有好处。
顺便说一下,我使用AngularJS将模型绑定到html内容,然后将其作为html字符串传递
到WebApi控制器,然后用Smtp客户端发送它。
希望有人可以帮我解决这个问题,
谢谢,
Nadav S。
答案 0 :(得分:1)
是的,这是正确的。大多数客户端不支持“data:”url,即使他们这样做,您可以嵌入的二进制文件的大小也非常有限。对于缩略图来说已经足够了,不足以拍摄真实照片。
正确的方法是使用mime multipart / related和“cid:”url。然后一部分包含HTML,另一部分包含base64编码图片。图像部分包含一个标题,其中包含一个名为“Content-ID”的字段。该值是由&lt;&gt;包围的任何唯一字符串。例如:
Content-ID: <xxxyyy>
在HTML中,您使用以下代码:
<img src="cid:xxxyyy"/>
有关完整规范,请参阅rfc-2392。