シェルスクリプトを実行すると、指定したすべての電子メールにメールが送信されるように、単一の変数に複数の電子メールを追加する可能性はありますか?
スクリプトで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
メール配列を使用したコードは次のとおりです。
MAILADDR=([email protected] [email protected] [email protected])
for i in "${MAILADDR[@]}"
do
echo "Mail test..." | mail -s "Mail test subject..." $i
done