Mutt:发送带附件的html格式的电子邮件

时间:2015-10-08 10:54:06

标签: linux bash shell unix mutt

我有一个要求,我需要将sql查询结果集导出为.csv文件并将其作为附件发送。但在这里我需要包含带有html格式的主体,并希望在主体中包含.csv文件的样本行以及html格式。

csv文件包含:

ID ID_CNT 3 b 6

我希望显示带有示例行的邮件正文。

我尝试了以下两种方式

mutt -e "set content_type=text/html"  -a query_gen23.csv -s "abc" abc@gmail.com 

export CONTENT="test.html"
export SUBJECT="$subject"
#(
# echo "To: "
# echo "Subject: $SUBJECT"
# echo "MIME-Version: 1.0"
# echo "Content-Type: text/html"
# echo "Content-Disposition: inline"
# cat $CONTENT
#) | /usr/sbin/sendmail $MAILTO
mutt -s "$subject" -a "$subject".csv -a test.html "$MAILTO" </dev/null

提前致谢!

2 个答案:

答案 0 :(得分:0)

自从我使用mutt以来已经有很长一段时间了,但如果我没记错的话,它希望邮件正文来自标准输入。在您的脚本中,您从/ dev / null!

输入重定向

我会将任务分为两个步骤:一个创建正文(带有CSV样本行的HTML代码),第二步将此文件传递给mutt。我认为这比尝试一次完成所有事情要容易得多。

答案 1 :(得分:0)

以下对我来说很好:

#!/usr/bin/ksh

export MAILTO="spam@ebay.com"
export SUBJECT="Mail Subject"
export BODY="/tmp/email_body.html"
export ATTACH="/tmp/attachment.txt"
(
 echo "To: $MAILTO"
 echo "Subject: $SUBJECT"
 echo "MIME-Version: 1.0"
 echo 'Content-Type: multipart/mixed; boundary="-q1w2e3r4t5"'
 echo
 echo '---q1w2e3r4t5'
 echo "Content-Type: text/html"
 echo "Content-Disposition: inline"
 cat $BODY
 echo '---q1w2e3r4t5'
 echo 'Content-Type: application; name="'$(basename $ATTACH)'"'
 echo "Content-Transfer-Encoding: base64"
 echo 'Content-Disposition: attachment; filename="'$(basename $ATTACH)'"'
 uuencode -m $ATTACH $(basename $ATTACH)
 echo '---q1w2e3r4t5--'
) | /usr/sbin/sendmail $MAILTO