쉘 스크립트를 실행할 때 지정된 모든 이메일에 메시지가 전송되도록 단일 변수에 여러 이메일을 추가할 수 있습니까?
답변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