シェルスクリプトを実行すると、指定されたすべての電子メールにメッセージが送信されるように、単一の変数に複数の電子メールを追加できますか?
答え1
スクリプトでsendmail
またはを使用していると仮定するとmail
(どちらもコンマで区切られた文字列が受信者リストに必要です)、IDを関連付けることができます(または次のようにリストとして直接作成できます)。
$: recipients="[email protected], [email protected], [email protected]"
または接続:
$: base_recipients="[email protected], [email protected]"
$: full_recipients="$base_recipients, [email protected]"
$: echo $full_recipients
[email protected], [email protected], [email protected]
sendmail
以下は、3つの異なるメールIDを使用してメールを送信する例です。
#!/bin/bash
recipients="[email protected], [email protected], [email protected]"
subject="Mail to you all"
from="[email protected]"
message_txt="Hi all!\n This is a message to all 3 of you!.\n cheers, Me."
/usr/sbin/sendmail "$recipients" << EOF
subject:$subject
from:$from
$message_txt
EOF
答え2
メール配列を使用するコードは次のとおりです。
MAILADDR=([email protected] [email protected] [email protected])
for i in "${MAILADDR[@]}"
do
echo "Mail test..." | mail -s "Mail test subject..." $i
done