我有一个要求,我需要将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
提前致谢!
答案 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