我有一个邮件正文,其中内联图像集如下:
<img src="cid:<<content-id>>">
我正在使用nodemailer
发送邮件。我还有一个图像的相对 URL。但图像未显示在 Outlook 中。似乎cid
不适用于最新版本的 Outlook。
其他选择?
是否可以在nodejs中获取图像的base64
。我已经看到了canvas
和xmlhttprequest
的示例,但是如果不使用我不想使用的外部模块,就无法在节点中完成此操作。
请问有什么解决方案吗?
举例来说,如果你的html
属性是:
<p><img src="cid:c001" /></p>
则attachments
属性必须如下所示:
[ { path: "data:image/gif;base64,...image data here....",
cid: "c001"
} ]
对于其他嵌入图像,只需将它们添加到attachments
数组即可。
以上将生成如下邮件:
Content-Type: multipart/alternative; boundary="s1"
--s1
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
...the (plain)`text` part of your message
--s1
Content-Type: multipart/related; type="text/html"; boundary="s2"
--s2
Content-Type: text/html
<p><img src="cid:c001" /></p>
--s2
Content-Type: image/gif; name=attachment-1.gif
Content-ID: <c001>
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=attachment-1.gif
...image data here....
--s2
--s1