使用mailx和uuencode发送附件

时间:2014-06-19 09:26:39

标签: linux bash ksh uuencode

我正在尝试运行一个ksh脚本,该脚本通常位于其新主机Linux节点上的AIX机器上。

我正在运行的代码如下所示:

 (uuencode $path/info.dat info.csv; uuencode $RESULTS results.log) | mail -s "Info" $MAIL_RECIPIENTS

这通常会发送一封主题为“#34; Info"并包含附件info.csv和results.log。

然而,在我的Linux机器上,这并没有发生 - 它正在发送电子邮件,其中包含uuencode输出作为电子邮件的正文,没有附件:

begin 775 info.csv

M+3`U+C`S+C4S+C(Q-#`W."(L(D%55$]314Y$("`B+")!551/4T5.1"`@(BPB
etc..
etc...
end

begin 775 results.log
M+3`U+C`S+C4S+C(Q-#`W."(L(D%55$]314Y$("`B+")!551/4T5.1"`@(BPB
etc...
etc...
end

我试图将文件作为附件发送,而根本不使用uuencode:

mail -a info.csv -a results.log -s "Info" $MAIL_RECIPIENTS

但是这是在脚本中间调用的,它只是挂起,除非我按CTRL D.

这是我正在使用的uuencode的版本:

uuencode (GNU sharutils) 4.7
Copyright (C) 1994, 1995, 1996, 2002, 2005, 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

还有其他人经历过这个吗?我担心 mutt 不是一种选择。

3 个答案:

答案 0 :(得分:0)

由于电子邮件的正文是空的,我能够这样做以阻止邮件实用程序挂起等待EOT。

mail -a info.cvs -a results.log -s "Info" $MAIL_RECIPIENTS < /dev/null

答案 1 :(得分:0)

您可以使用mailx发送带有正文和附件的邮件,并按照以下方式使用它:

$ echo "body" | mailx -a AttachmentFile -s "subject" recipient@somewhere.com

答案 2 :(得分:-1)

使用此:

uuencode info.cvs info.cvs |mailx -s 'results.log' -r $ReplyAddress $MailAddress