通过在SO.com的先前的post,我已经尝试build立我的脚本发送电子邮件到我的Outlook帐户与电子邮件正文中的图像内联。 但是html内容正在显示在html中而不是显示图像。 请帮忙。
这是我的片段
{ echo "TO: XXX@YYY.com" echo "FROM: TEST_IMAGE@YYY.com>" echo "SUBJECT: Embed image test" echo "MIME-Version: 1.0" echo "Content-Type: multipart/related;boundary="--XYZ"" echo "--XYZ" echo "Content-Type: text/html; charset=ISO-8859-15" echo "Content-transfer-encoding: 7bit" echo "<html>" echo "<head>" echo "<Meta http-equiv="content-type" content="text/html; charset=ISO-8859-15">" echo "</head>" echo "<body bgcolor="#ffffff" text="#000000">" echo "<img src="cid:part1.06090408.01060107" alt="">" echo "</body>" echo "</html>" echo "--XYZ" echo "Content-Type: image/jpeg;name="sathy.jpg"" echo "Content-transfer-encoding: base64" echo "Content-ID: <part1.06090408.01060107>" echo "Content-disposition: inline; filename="sathy.jpg"" echo $(base64 sathy.jpg) echo "' />" echo "--XYZ--" }| /usr/lib/sendmail -t
--XYZ Content-Type: text/html; charset=ISO-8859-15 Content-transfer-encoding: 7bit <html> <head> <Meta http-equiv=content-type content=text/html </head> <body bgcolor=#ffffff text=#000000> <img src=cid:part1.06090408.01060107 alt=> </body> </html> --XYZ Content-Type: image/jpeg;name=sathy.jpg Content-transfer-encoding: base64 Content-ID: <part1.06090408.01060107> Content-disposition: inline; filename=sathy.jpg /9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAAoAAD/4QNxaHR0cDov ....base64 values..... /> --XYZ-- ----XYZ--
你能帮我什么,我错过了
如何将PNG格式的XImage保存为base64string?
BASH Base64编码脚本不正确的编码
Unix base64编码不匹配
由于 n,windows和linux的base 64编码不匹配
通过sed反向引用base64命令
从给定的散列计算base64编码的散列?
经过编码到90度旋转的base64图像
将EXE或其他文件转换为文本格式并返回
包含二进制可执行文件
使用echo打印邮件头的方式可以使用双引号 – 您需要使用反斜杠( " )将其转义,以使其工作。
另外,你的边界是错误的。 如果你定义了boundary=--XYZ ,那么每个消息部分需要以----XYZ开始(你需要添加两个破折号),否则你的边界只应该是XYZ 。 而且哑剧部分的标题必须用空行与主体分开。
如果你真的需要从shell脚本生成一个邮件,那么我的建议是摆脱所有的回声,而不是使用heredoc:
sendmail -t <<EOT TO: XXX@YYY.com FROM: <TEST_IMAGE@YYY.com> SUBJECT: Embed image test 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=""> </body> </html> --XYZ Content-Type: image/jpeg;name="sathy.jpg" Content-transfer-encoding: base64 Content-ID: <part1.06090408.01060107> Content-disposition: inline; filename="sathy.jpg" $(base64 sathy.jpg) --XYZ-- EOT
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。