有没有人知道是否以及如何将Base64编码的图像添加到Mandrill模板。
我使用Mandrill模板确保我的所有电子邮件都具有相同的外观和感觉,我有一个简单的小徽标,我希望根据这些建议添加到我的模板中: http://help.mandrill.com/entries/25252978-Tips-for-using-images-in-Mandrill-emails
但是我不确定在我的HTML模板中添加必要代码的位置和方法。任何人都知道是否有可能以及如何做到这一点?
THX
答案 0 :(得分:10)
我可能已经找到了自己问题的答案。
否 - Mandrill不允许您添加内嵌图像或将图像附件作为代码上载到模板。
解决方案 - 你需要按照API中的建议将数组[images]添加到$ message中。
这是一个PHP示例函数:
// Add cid image to $message
function add_email_logo($message) {
$logo = array (
'images' => array (
array (
'type' => 'image/png',
'name' => 'logo',
'content' => 'iVBORw0KGgoAAAANSUhEUgAA....etc.'
)
)
);
return array_merge( $message, $logo);
}
并使用图片src =“cid:{name}”
<img src="cid:logo"/>
答案 1 :(得分:0)
在页面中间,您链接到它会告诉您可以使用带有base64编码图像的img
标记
使用您的API调用将图像作为内联附件包含在内 图像参数。您需要提供图片名称(Content-ID), 内容(作为base64编码的字符串)和图像MIME类型。 在&#39; src&#39;中引用图片名称。在您的HTML内容中:
<img src="cid:image_name">
src
属性正在使用Data URI scheme。一般格式是
<img src="data:(MIME TYPE);base64,(IMAGEDATA BASE 64 ENCODED)">
图片列表media types
图像/ GIF
图像/ JPEG
图像/ PJPEG
图像/ PNG
图像/ SVG + xml的
图像/ vnd.djvy
图像/示例
以html标签形式获取base64编码图像的最简单方法是在线使用转换器。谷歌搜索base64 encode image提供了大量具有此功能的结果。
答案 2 :(得分:0)
在Mandril示例中
<img src="cid:image_name">
应替换为
<img src="cid:image_name" />
否则,图像将仅附加到邮件中,而不会显示在
中答案 3 :(得分:0)
请务必注意,images[].content
和attachments[].content
属性必须是 base64字符串,开头没有任何data:(MIME TYPE);base64,
结构,只是一个字符串