0

を使用してメールの本文にattach one fileいくつか送信しようとしています。以下のコマンドを一緒に追加しましたが、uuencode は正しく動作しませんが、電子メールにエコー メッセージが正しく表示されます。echo messagesmailx and 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

では、それらを組み合わせた最初のコマンドで何が問題になっているのでしょうか?

4

2 に答える 2

1

コマンドはmailx、パイプ(uuencode)またはヒアドキュメント(<< 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-13T23:50:58.690 に答える
0

ここで行ったように入力ファイル名を指定すると、uuencodeはstdinを読み取りません。これは、単一のファイルをエンコードするためです。2つのファイルをエンコードする場合は、最初にそれらを何らかの方法で組み合わせる必要があります。catそれらを連結することが大丈夫であるならば、あなたはただ使うことができます:

cat /tmp/chart.html - | uuencode percentage_graph.html | mailx .... << EOF
..stuff to append to chart.html
EOF
于 2012-08-13T23:52:54.790 に答える