Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 使用带有附件和主题行的unix命令发送邮件_Linux_Unix - Fatal编程技术网

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

Linux 使用带有附件和主题行的unix命令发送邮件,linux,unix,Linux,Unix,我试图使用unix的mail命令发送带有附件和主题行的邮件,但如果两者都有,则会出错。如果我只有一个主题行,它可以工作,如果我只有一个附件,它可以工作,但不能两者兼而有之。有人知道怎么做吗 data.out | mail -s "DATA" abc@company.com < text.out data.out | mail-s“数据”abc@company.com

我试图使用unix的mail命令发送带有附件和主题行的邮件,但如果两者都有,则会出错。如果我只有一个主题行,它可以工作,如果我只有一个附件,它可以工作,但不能两者兼而有之。有人知道怎么做吗

data.out | mail -s "DATA" abc@company.com < text.out
data.out | mail-s“数据”abc@company.com

因此,这会导致“输入重定向不明确”

您要求将输入从
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
根据您的要求,您可以做您想做的事情:

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

如果有
mutt
可用,它可以很好地实现这一点,并且直接支持附件。我发现一些系统上的
mail
程序无法正确执行MIME编码,即使附件在通过
uuencode
后通过管道传入

使用
mutt
的一个例子是:

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

如果你说
cat data | cat,由于某种原因,我无法像mutt does it(7bit编码)那样用mail或msmtp mail附加文件,你希望发生什么。马特为我工作。谢谢不过我很想学怎么做。如果有人想在~/.muttrc中重用变量,请检查。