2012-08-14 64 views
4

我有/tmp folder下一个html文件chart.html file具有像下面的图像的输出,当你打开内html file发送HTML文件的输出电子邮件正文

enter image description here

我有一个shell脚本,我正在使用发送chart.html文件作为电子邮件附件中的一些正文消息。

问题陈述: -

是否可以发送HTML文件的这个多彩的图像的电子邮件的正文中(当你打开它)?以便人们可以在电子邮件正文中看到此图像,而不是打开附件文件。下面是我用来发送附件与身体的电子邮件命令MESSAGE-

mailx -s "LIP Data Quality Report for $DATE_YEST_FORMAT1" -r [email protected] [email protected] <<EOF 
Data Successfully loaded into LIP_DATA_QUALITY table 

Total Items Purchased: `echo $QUERY1 | awk '{print $1}'` 

Total Items MissingorMismatch: `echo $QUERY1 | awk '{print $2}'` 

Error Percentage: $QUERY2 

$(uuencode /tmp/chart.html percentage_graph.html) 

EOF 

我需要什么样的变化在我上面的命令做出身体本身内发送这个多彩的图像。

+0

'uuencode'正在对HTML进行编码。没有什么*解释HTML,以便在电子邮件中包含图形*。正如您现在所知道的那样,收件人的电子邮件客户端*可*从远程托管的任何位置检索图形*如果它是公开访问的。如果要包含图形,则需要在其他内容中包含MIME标头。 – 2012-08-14 01:26:29

回答

3

包含21世纪图像的正确方法是使用MIME。您的消息应该基本上是这样的

From: you <[email protected]> 
To: recipient <[email protected]> 
Subject: well, say something 
Mime-Version: 1.0 
Content-type: multipart/related; boundary=foo 

Often you have something about this being a MIME message here. 

--foo 
Content-type: text/html; charset=utf-8 
Content-transfer-encoding: us-ascii 

<html><yada yada><img src="cid:bar"></html> 

--foo 
Content-type: image/png 
Content-id: bar 
Content-transfer-encoding: base64 

sdflkjsdflkjsdflkjsdflkjsdflksdfl= 

--foo-- 

你也可以用text/plain文本部分尝试,为图像的Content-Disposition: inline;然后许多客户将在文本下方显示图像。

当然,如果你已经把它全部放在一个HTML文件中(如何?与图像?),那么只需附加一个现代MUA如mutt应该都可以用一个简单的命令行。

相关问题