繁体   English   中英

使用mailx在电子邮件中发送多个文件作为附件

[英]sending multiple files as attachment in e-mail using mailx

我有一个requiremnet以外壳程序脚本的形式发送多个文件作为电子邮件attachmnet。 我用下面的命令。

(printf "%s\n" "BODY"; uuencode out.txt out.txt ; uuencode asgda.txt asgda.txt ) | mailx -m -s "TEST" emailid@domain.com

但是,我要作为Attachmnet发送的文件数是动态的。 所以我想将uuencode ... comand分配给一个变量,然后使用它。 我已经尝试过以下方式,

$ ATTACH_CMD=$(echo `cat $OUTPUT_FILE`)
$ echo $ATTACH_CMD
uuencode out.txt out.txt ; uuencode asgda.txt asgda.txt

$ (printf "%s\n" "BODY"; $ATTACH_CMD ) | mailx -m -s "TEST" emailid@domain.com

而且我正在错误以下。

sh: uuencode out.txt out.txt ; uuencode asgda.txt asgda.txt:  not found.

有人可以帮我吗? 提前致谢。

您是否尝试过使用以下代码? 不知道为什么它起作用,但是下面的代码可以用作解决方法

(printf "%s\n" "BODY"; `echo $ATTACH_CMD` ) | mailx -m -s "TEST" emailid@domain.com`?

对于$ATTACH_CMD我使用了echo命令。

我终于找到了路。 评估使窍门

eval $STR 

$ ATTACH_CMD=$(echo `cat $OUTPUT_FILE`)
$ echo $ATTACH_CMD
uuencode out.txt out.txt ; uuencode asgda.txt asgda.txt

$ (printf "%s\n" "BODY"; eval $ATTACH_CMD ) | mailx -m -s "TEST" emailid@domain.com

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM