繁体   English   中英

您可以将内联 base64 编码图像添加到 Mandrill 模板中吗?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM