我正在尝试通过亚马逊发送条形码和我的 html 邮件内容。我正在使用 SES 服务。
在邮件 img 标签中添加 src="cid:barcodeImage"
ses 代码是
if (is_array($files)) {
$count = count($files);
foreach ($files as $file) {
$attach .= "\n";
$attach .= "--$this->boundary\n";
$attach .= "Content-Transfer-Encoding: base64\n";
$attach .= "Content-ID: <$file[cid]>\n";
$clean_filename = self::clean_filename($file["name"], self::MAX_ATTACHMENT_NAME_LEN);
$attach .= "Content-Type: application/octet-stream; name=$clean_filename;\n";
$attach .= "Content-Disposition: inline; filename=$clean_filename;\n";
$attach .= "\n";
$attach .= chunk_split(base64_encode($file['string']), 76, "\n");
$attach .= "\n--$this->boundary";
}
// close email
$attach .= "--\n";
}
但它不是作为嵌入字符串出现,而是作为邮件附件出现 是否可以在 amzon ses 中发送嵌入图像?
我通过提供图像源作为 base64 编码数据来解决这个问题。在 python 中我是这样做的:
x = 'data:image/png;base64,{}'.format(base64.b64encode(open('x.png', 'rb').read()).decode())
希望这会解决您的问题,如果有任何问题请告诉我