在单个邮件unix中具有多个附件的mutt命令

时间:2013-06-27 11:54:09

标签: unix mutt mailx

我的要求是将所有.csv文件附加到一个文件夹中,然后通过一封邮件发送它们。

以下是尝试过的内容,

mutt -s "subject" -a *.csv -- abc@gmail.com < subject.txt

以上命令无效(无法识别多个文件)并抛出错误

Error sending message, child exited 67 (User unknown.).
Could not send the message.

然后我尝试使用多个-a选项,如下所示,

mutt -s "subject" -a aaa.csv -a bbb.csv -- abc@gmail.com < subject.txt

这可以按预期工作。 但这对于100个文件来说是不可行的。我应该能够使用文件掩码(就像* .csv一样来获取所有csv文件)。我们有什么方法可以像单个命令一样使用* .csv吗?

由于

3 个答案:

答案 0 :(得分:23)

Mutt不支持这样的语法,但这并不意味着它是不可能的。你只需要构建mutt命令。

mutt -s "subject" $( printf -- '-a %q ' *.csv ) ...

$( ... )中的命令产生如下内容:

-a aaa.csv -a bbb.csv -a ...

答案 1 :(得分:1)

这是使用单个命令发送多个文件的示例 -

mutt -s "Subject" -i "Mail_body text" email_id@abc.com -c email_cc_id@abc.com -a attachment1.pdf -a attachment2.pdf 

在命令行末尾使用 -a 作为附件。

一些 linux 系统有附件大小限制。大多数情况下它支持较小的尺寸。

答案 2 :(得分:0)

我得到反斜杠(\)另外

Daily_Batch_Status{20131003}.PDF
Daily_System_Monitoring{20131003}.PDF

printf -- '-a %q ' *.PDF
-a Daily_Batch_Status \ {20131003 \ }.PDF -a Daily_System_Monitoring \ {20131003 \ }.PDF