mailx コマンドで複数のファイルをメールで送信

mailx コマンドで複数のファイルをメールで送信

.txtファイルに3つのファイル名があります。

ファイル名をすべて読み、メール添付ファイルとして送信する必要があります。

例:

test.txt - (ファイル名)

-query1.dat

-query2.dat

-query3.dat

test.txtファイルを読み取り、すべてのquery * .datファイルをインポートし、mailxコマンドを使用してこれらのすべてのファイルを添付ファイルにメールを送信する必要があります。

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

while read line
do

    mailx -a ${line} -s "files" ${mail_from} << EOM

    Hi, Sent files

    EOM

done<test.txt

個別のメールで各ファイルを個別に送信します。

これらすべてのファイルを1つの電子メールで送信する必要があります。

どうすればいいですか?

ベストアンサー1

-a file同じ呼び出しに複数を追加できますmailx

while read pj ; do
    attach+=( -a "$pj" )
done < test.txt

mailx "${attach[@]}" -s "files" ${mail_from} << EOM

    Hi, Sent files

EOM
  • attach+=( -a "$pj")配列に2つの要素を追加する
  • "${attach[@]}"値からスペースで区切られず、配列の各要素を別々の値に拡張します。

おすすめ記事