有谁知道是否以及如何将 Base64 编码图像添加到 Mandrill 模板中。
我使用 Mandrill 模板来确保我的所有电子邮件都具有相同的外观和感觉,并且我有一个简单而小的徽标,我更愿意按照以下建议将其添加到我的模板中: http://help.mandrill.com/entries/25252978-Tips-for-using-images-in-Mandrill-emails
但是我不确定在 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"/>
在您链接到的页面中间,它告诉您可以将
img
标签与 base64 编码图像一起使用
使用 API 调用将图像作为内联附件包含在内 图像参数。您需要提供图像名称(Content-ID), 内容(作为 base64 编码的字符串)和图像 MIME 类型。 在 HTML 内容的“src”中引用图像名称:
<img src="cid:image_name">
src
属性使用Data 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,
结构,只是一个字符串