我正在使用下面的脚本使用sendmail函数在邮件中嵌入多个图像。
sendmail -t <<EOT
TO: example_to@xyz.com
FROM: example_from@xyz.com
Cc: example_cc@xyz.com
SUBJECT: Phobos Report
MIME-Version: 1.0
Content-Type: multipart/related;boundary="XYZ"
--XYZ
Content-Type: text/html; charset=ISO-8859-15
Content-Transfer-Encoding: 7bit
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-15">
</head>
<body bgcolor="#ffffff" text="#000000">
<img src="cid:part1.06090408.01060107" alt=""><br/>
<img src="cid:part2.06090408.01060107" alt=""><br/>
<img src="cid:part3.06090408.01060107" alt="">
</body>
</html>
--XYZ
Content-Type: image/jpeg;name="rag1.jpg"
Content-Transfer-Encoding: base64
Content-ID: <part1.06090408.01060107>
Content-Disposition: inline; filename="rag1.jpg"
$(base64 rag1.jpg)
--XYZ
Content-Type: image/jpeg;name="rag2.jpg"
Content-Transfer-Encoding: base64
Content-ID: <part2.06090408.01060107>
Content-Disposition: inline; filename="rag2.jpg"
$(base64 rag2.jpg)
--XYZ
Content-Type: image/jpeg;name="rag3.jpg"
Content-Transfer-Encoding: base64
Content-ID: <part3.06090408.01060107>
Content-Disposition: inline; filename="rag3.jpg"
$(base64 rag3.jpg)
--XYZ--
EOT这里只嵌入了第一个图像。而所有其他的都无法添加。这两个图像被添加为基于文本的附件。如何在此脚本中添加多个图像?
发布于 2017-04-04 17:52:40
这是一个古老的问题,但我认为无论如何都应该有一个答案。
代码的问题在于,您在最后两个图像的MIME边界和MIME头之间放置了空行,如下所示:
--XYZ
Content-Type: image/jpeg;name="rag2.jpg"
Content-Transfer-Encoding: base64
Content-ID: <part2.06090408.01060107>
Content-Disposition: inline; filename="rag2.jpg"这是不允许的。您应该更正代码并删除两处的空行,如下所示:
--XYZ
Content-Type: image/jpeg;name="rag2.jpg"
Content-Transfer-Encoding: base64
Content-ID: <part2.06090408.01060107>
Content-Disposition: inline; filename="rag2.jpg"还有这里:
--XYZ
Content-Type: image/jpeg;name="rag3.jpg"
Content-Transfer-Encoding: base64
Content-ID: <part3.06090408.01060107>
Content-Disposition: inline; filename="rag3.jpg"空行在边界线之前是允许的,这意味着它们将是前面主体的一部分,在那里它们通常是无害的(但我可以在它们不在的地方虚构上下文。然而,这不是你的情况。)
最好不要在MIME边界的两侧放置额外的空行。当然,这与第一个MIME边界之前需要的空行无关,在第一个MIME边界中,它分隔MIME标头。
发布于 2016-12-06 00:13:13
尝试在没有换行符的情况下这样做
<img src="cid:part1.06090408.01060107" alt="">
<img src="cid:part2.06090408.01060107" alt="">
<img src="cid:part3.06090408.01060107" alt="">我自己测试过,它工作得很好
https://stackoverflow.com/questions/32225589
复制相似问题