【问题标题】:Mutt: sending html-formatted e-mail with an attachmentMutt:发送带有附件的 html 格式的电子邮件
【发布时间】:2016-01-05 22:56:29
【问题描述】:

我有一个要求,我需要将 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

提前致谢!

【问题讨论】:

  • Stack Overflow 不是让您的代码/脚本等编写/实施的免费服务。请展示您的尝试/代码 sn-ps 或您目前发现的任何内容。

标签: linux bash shell unix mutt


【解决方案1】:

以下对我来说很好:

#!/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

【讨论】:

    【解决方案2】:

    我已经很久没有使用 mutt 了,但如果我没记错的话,它需要标准输入的邮件正文。在您的脚本中,您从 /dev/null 输入重定向!

    我会将任务分为两步:第一步创建正文(带有 CSV 示例行的 HTML 代码),第二步将该文件通过管道传输到 mutt.xml 中。我认为这比尝试一次完成所有事情要容易得多。

    【讨论】:

    • 你能帮我创建 body 和 csv 样本吗?我尝试过的所有方法都失败了。
    • 你需要更加具体。你到底在哪里有问题?毕竟,您只需要创建一个 HTML 文件并将示例插入其中即可。
    • 是的。这正是我需要的
    • 您的问题到底出在哪里?我猜你的问题不是你不知道如何创建文件.....
    猜你喜欢
    • 2012-11-17
    • 1970-01-01
    • 2013-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-09
    相关资源
    最近更新 更多