[英]Can you add inline base64 encoded image to a Mandrill template?
有谁知道是否以及如何将 Base64 编码的图像添加到 Mandrill 模板。
我使用 Mandrill 模板来确保我所有的电子邮件都具有相同的外观和感觉,并且我有一个简单的小徽标,我希望按照以下建议将其添加到我的模板中: http : //help.mandrill.com/entries /25252978-Mandrill 电子邮件中使用图像的提示
但是,我不确定在我的 HTML 模板中添加必要代码的位置和方式。 任何人都知道是否有可能以及如何去做?
谢谢
我可能已经找到了我自己问题的答案。
否 - 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"/>
在您链接到它的页面中间告诉您可以使用带有 base64 编码图像的img
标签
使用图像参数将图像作为内嵌附件包含在 API 调用中。 您需要提供图像名称 (Content-ID)、内容(作为 base64 编码字符串)和图像 MIME 类型。 在 HTML 内容的“src”中引用图像名称:
<img src="cid:image_name">
src
属性使用数据 URI 方案。 一般格式是
<img src="data:(MIME TYPE);base64,(IMAGEDATA BASE 64 ENCODED)">
这是图像媒体类型列表
图像/gif
图像/JPEG
图像/pjpeg
图像/png
图像/svg+xml
图像/vnd.djvy
图像/示例
以 html 标签形式获取 base64 编码图像的最简单方法是在线使用转换器。 谷歌搜索base64 编码图像产生大量具有此功能的结果。
在 Mandril 示例中
<img src="cid:image_name">
应该换成
<img src="cid:image_name" />
否则,图像将只是附加到邮件中,而不显示在里面
同样需要注意的是, images[].content
& attachments[].content
属性必须是base64字符串,没有任何data:(MIME TYPE);base64,
一开始构造,只是一个字符串
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.