使用 mailx 和 uuencode 发送附件
Posted
技术标签:
【中文标题】使用 mailx 和 uuencode 发送附件【英文标题】:Sending attachments with mailx and uuencode 【发布时间】:2014-08-09 18:58:53 【问题描述】:我正在尝试运行一个 ksh 脚本,该脚本通常位于 AIX 机器的新主机 Linux 节点上。
我正在运行的代码如下所示:
(uuencode $path/info.dat info.csv; uuencode $RESULTS results.log) | mail -s "Info" $MAIL_RECIPIENTS
这通常会发送一封主题为“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 不是一种选择。
【问题讨论】:
试试echo "" | mail -a ....
祝你好运。
【参考方案1】:
由于电子邮件的正文是空的,我能够这样做以阻止邮件实用程序挂起等待 EOT。
mail -a info.cvs -a results.log -s "Info" $MAIL_RECIPIENTS < /dev/null
【讨论】:
【参考方案2】:您可以使用 mailx 发送带有正文和附件的邮件,并像这样使用它:
$ echo "body" | mailx -a AttachmentFile -s "subject" recipient@somewhere.com
【讨论】:
【参考方案3】:使用这个:
uuencode info.cvs info.cvs |mailx -s 'results.log' -r $ReplyAddress $MailAddress
【讨论】:
以上是关于使用 mailx 和 uuencode 发送附件的主要内容,如果未能解决你的问题,请参考以下文章
使用带有 uuencode 的“sendmail”发送邮件,并带有主题