2017-07-25 10 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

関連する問題