我正在尝试使用mailx and uuencode在电子邮件正文中发送几个attach one file和echo messages。我有下面的命令,我已经把它们加在一起了,uuencode不能正常工作,但我在我的电子邮件中得到了正确的回应消息。
我怎样才能让uuencode在这里工作?我想我在这里做错了什么,当我把uuencode和mailx组合在一起的时候?
(uuencode /tmp/chart.html percentage_graph.html) | mailx -s "LIP Data Quality Report for $DATE_YEST_FORMAT1" -r rj@host.com rj@host.com <<EOF
Data Successfully loaded into LIP_DATA_QUALITY table
Total Items Purchased: `echo $QUERY1 | awk '{print $1}'`
Total Items MissingorMismatch: `echo $QUERY1 | awk '{print $2}'`
Error Percentage: $QUERY2
EOF但为了测试的目的,如果我发出下面的命令来查看我是否在附件中获得了任何html文件,那么我就会收到一封带有附件的电子邮件。
(uuencode /tmp/chart.html percentage_graph.html) | mailx -s "LIP Data Quality Report for $DATE_YEST_FORMAT1" -r rj@host.com rj@host.com那么,当我将它们组合在一起时,我的第一个命令有什么问题呢?
发布于 2012-08-14 07:50:59
mailx命令可以从管道(uuencode)或pipe文档(<< EOF)获取其输入。但不是两个都有。
这可能对你有用:
$ mailx -s "LIP Data Quality Report for $DATE_YEST_FORMAT1" -r rj@example.com rj@example.com <<EOF
Data Successfully loaded into LIP_DATA_QUALITY table
Total Items Purchased: `echo $QUERY1 | awk '{print $1}'`
Total Items MissingorMismatch: `echo $QUERY1 | awk '{print $2}'`
Error Percentage: $QUERY2
$(uuencode /tmp/chart.html percentage_graph.html)
EOF或者,考虑使用像mutt这样的东西,它允许您将文件与邮件正文分开附加。
发布于 2012-08-14 07:52:55
如果你给uuencode一个输入文件名,uuencode不会读取stdin,就像这里一样。这是因为它只对一个文件进行编码。如果你想对两个文件进行编码,你需要先把它们组合在一起。如果合并它们是可以的,你可以只使用cat:
cat /tmp/chart.html - | uuencode percentage_graph.html | mailx .... << EOF
..stuff to append to chart.html
EOFhttps://stackoverflow.com/questions/11943467
复制相似问题