mailxコマンドでZipファイルを送信する

mailxコマンドでZipファイルを送信する

zip_final.zipというzipファイルがあります。

このファイルを添付ファイルとして添付してメールを送信する必要があります。

また、メール本文のzipファイルにあるすべてのファイル名を表示する必要があります。

私はこのコードを持っています:

export files_list=`unzip -Zl zip_final.zip`

mailx -a ${zip_final.zip} -s "Files list | Zip file" << EOM

   Hi team, sent zip file.
   Files inside it are  :  $files_list

   Thank you.

EOM

ただし、これを行うとメールは送信されません。あたかもメールコマンドが呼び出されたり実行されなかったりするのと同じです。エラーメッセージも表示されません。

mailxコマンドを使用してこのzipファイルを添付ファイルとして送信し、メール本文のzipファイル内にあるすべてのファイル名を表示する方法を提案できる人はいますか?

ベストアンサー1

修正されたサンプルスクリプトは次のとおりです。

#!/bin/bash
#<$1    : zip file name
#<$2 ...: recipients
file=$1
shift
(
echo "  Hi team, sent zip file."
echo "  Files inside it are  :"
unzip -l "$file"
echo "  Thank you."
) |
mailx -A "$file" -s "Files list | Zip file" "$@"

何を見逃していますか?

  • mail -Aコード化される-a
    編集:これはmailxの実装によって異なります。
  • unzip -Z予期しない
    編集:出力スタイルを変更します。
  • メール受信者なし
  • ${zip_final.zip}無意味

おすすめ記事