2017-07-25 56 views
0

我有一个csv文件,我想附加。我创建了一个csv的html表格,以及下面的表格的内联显示。如果我不附加文件,脚本运行良好。使用邮件命令发送带csv附件的html表格

cat htmltempfile 

<head> 
<style> 
table { 
    border-collapse: collapse; 
    width: 70%; 
} 

th, td { 
    padding: 8px; 
    text-align: left; 
    border-bottom: 1px solid #ddd; 
} 

tr:hover{background-color:#dddddd} 
</style> 
</head> 
<body> 
<table> 
<tr><th>team</th><th>type</th><th>10:15:00</th><th>11:15:00</th><th>12:15:00</th><th>13:15:00</th><th>14:15:00</th><th>15:15:00</th><th>15:30:00</th></tr> 
<tr><td>C</td><td>W</td><td>278645</td><td>434543</td><td>4906</td><td>55494</td><td>68232</td><td>7341</td><td>123641</td></tr> 
<tr><td>B</td><td>P</td><td>63361</td><td>79405</td><td>75303</td><td>7243</td><td>74224</td><td>7331</td><td>26159</td></tr> 
<tr><td>B</td><td>W</td><td>28357</td><td>97934</td><td>1000</td><td>20005</td><td>16875</td><td>2004</td><td>0</td></tr> 
<tr><td></td></tr> 
</table> 

today=$(date +%Y%m%d | tr -d '\n') 
emaillist="[email protected] 
appname="path/to/csv/file.csv" 
htmltempfile="path/to/csv/htmltempfile" 
cat "$htmltempfile" | mail -s "$(echo -e "Subject:$today $appname.\nContent-Type: text/html")" $emaillist 
#runs fine 


cat "$htmltempfile" | mail -s "$(echo -e "Subject:$today $appname.\nContent-Type: text/html")" -a $appname $emaillist 
#PROBLEM 

同样的文件被连接,但它并没有得到适当的

I see it like this in my gmail

回答

0

-a将不会为附件的工作作为邮件附件发送。你必须使用“uuencode”来附加文件。

如果你想显示HTML摘要和附件使用如下。

sendEmail() { 

    BOUNDARY=$(date +%s|md5sum) 
    BOUNDARY=${BOUNDARY:0:32} 

    filename=$(basename $appname) 
    (
    echo "From: [email protected]"; 
    echo "To: $emaillist"; 
    echo "Reply-To: [email protected]"; 
    echo "Subject: $today $appname."; 
    echo "Content-Type: multipart/mixed; boundary=\"$BOUNDARY\""; 
    echo ""; 
    echo "This is a MIME formatted message. If you see this text it means that your"; 
    echo "email software does not support MIME formatted messages, but as plain text"; 
    echo "encoded you should be ok, with a plain text file."; 
    echo ""; 
    echo "--$BOUNDARY"; 
    echo "Content-Type: text/html; charset=ISO-8859-1; format=flowed" 
    echo "Content-Transfer-Encoding: 8bit" 
    echo "Content-Disposition: inline"; 
    echo "" 
    cat "$htmltempfile"; 
    echo ""; 
    echo "--$BOUNDARY"; 
    echo "Content-Type: text/plain; name=\"$filename\""; 
    echo "Content-Transfer-Encoding: 8bit"; 
    echo "Content-Disposition: attachment; filename=\"$filename\";" 
    echo "" 
    cat "$appname"; 
    echo ""; 
    echo "--$BOUNDARY--"; 
) | /usr/sbin/sendmail -t 2>/dev/null 
} 


today=$(date +%Y%m%d | tr -d '\n') 
emaillist="[email protected] 
appname="path/to/csv/file.csv" 
htmltempfile="htmltempfile" 
sendEmail 
+0

'echo“this works”| | mail -s“no html”-a myfileGetAttached goeastothis @ address.com'这项工作显示邮件 - 一个很好的作品 – pythonRcpp