我正在尝试使用unix的mail命令发送带附件和主题行的邮件,但如果我同时收到错误,则会收到错误消息。如果我只有一个主题行它可以工作,如果我只有一个附件它可以工作,但不是两个。有谁知道怎么做?
data.out | mail -s "DATA" abc@company.com < text.out
因此导致“模糊输入重定向”
答案 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