使用附件和主题行的unix命令发送邮件

时间:2013-04-22 15:59:17

标签: linux unix

我正在尝试使用unix的mail命令发送带附件和主题行的邮件,但如果我同时收到错误,则会收到错误消息。如果我只有一个主题行它可以工作,如果我只有一个附件它可以工作,但不是两个。有谁知道怎么做?

data.out | mail -s "DATA" abc@company.com < text.out

因此导致“模糊输入重定向”

3 个答案:

答案 0 :(得分:4)

您要求将data.out命令中的输入发送到mail命令,并要求其从文件text.out中读取;也就是说,至少含糊不清,因为shell不能同时做到这两点。

如果您希望将文本和数据都放入邮件消息中,那么实现此目的的最简单方法是执行以下操作:

(cat text.out; data.out) | mail -s "DATA" abc@company.com

现在如果data.out是文件而不是命令,那么你可以这样做:

cat text.out data.out | mail -s "DATA" abc@company.com

答案 1 :(得分:4)

根据this article,你可以做你想做的事情:

(cat text.out; uuencode data.out data.out) | mail -s "DATA" abc@company.com

答案 2 :(得分:1)

如果可用mutt适用于此,并且它直接支持附件。我发现某些系统上的mail程序无法正确执行MIME编码,即使附件是在通过uuencode后传入的。

使用mutt的一个例子是:

echo "body text" | mutt -a attachment.txt -s "subject text" -- recipient@domain.com
相关问题