シェルスクリプトを使用したメール からalexkowalskiスクリプトを使用しています
MAILADDR=([email protected], [email protected], [email protected])
for i in "${MAILADDR[@]}"
do
echo "Mail test..." | mail -s "Mail test subject..." $i
done
私の質問は、外部フラットファイルからMAILADDR
配列を読み取る方法ですか?
そして、電子メールの本文を置き換える外部フラットファイルを挿入する方法
echo"/home/user/information-for-any-user.txt" | mail -s "Mail test subject..." $i ??
電子メールアドレスの取得元である「外部フラットファイル」があまり面白くない(適切にフォーマットされている)場合は、次のようなものを使用できます。
mail -s "My subject" $(cat /this/is/the/external/flat/file.txt) < /home/user/information-for-any-user.txt
mail
コマンドで複数のアドレスを指定できます。
フラットファイルにglob文字がなく、電子メールアドレスが空白で区切られていると仮定します。
echo "Mail test..." | mail -s "Mail test subject..." $(< address.file)
改行で区切られたアドレスのリストをbash配列に読み込みます
mapfile -t addr < address.file
echo "Mail test..." | mail -s "Mail test subject..." "${addr[@]}"
多くの感謝、両方の答えを組み合わせることは仕事をしました。
mapfile -t addr </ home/user/address-file#(1行に1つのメールアドレス)
echo "$(cat </ home/user/information-for-any-user)" | mail -s "私の件名" "$ {addr [@]}"
乾杯