mutt命令与多个附件在一个邮件unix

w8f9ii69  于 2022-11-23  发布在  Unix
关注(0)|答案(4)|浏览(177)

我的要求是将所有的.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在一个命令?

谢谢

zz2j4svz

zz2j4svz1#

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

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

$( ... )中的命令会产生如下结果:

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

p3rjfoxz2#

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

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系统有附件大小限制,大多数支持较小的附件大小。

yruzcnhs

yruzcnhs3#

我得到了反斜杠(\)另外

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
kmb7vmvb

kmb7vmvb4#

#!/bin/bash

from="me@address.com"
to="target@address.com"
subject="pdfs $(date +%B) $(date +%Y)"
body="You can find the pdfs from  $(date +%B) $(date +%Y)"
# here comes the attachments 
mutt -s "$subject" $( printf -- ' -a %q' $PWD/*.pdf ) -- $to <<EOF 
 Dear Mr and Ms,

 $(echo $body)
 $(cat ~/.signature)
 EOF

但它不工作的转义字符在文件名中,如“[5]”,这可能会在MacOs。我创建了一个脚本,并收集所需的PDF文件在一个文件夹中,只是运行脚本从该位置。所以每月报告发送...它没有多少PDF文件(数量可以变化),但也不应该有白色。

相关问题