2012-11-15 2 views
30

특정 조건이 충족되면 여러 수신자에게 메일을 보내도록 bron 스크립트를 실행 중입니다.bash 스크립트에서 여러 수신자를위한 sendmail 사용

나는이 같은 변수를 코딩했습니다

subject="Subject" 
from="[email protected]" 
recipients="[email protected] [email protected]" 
mail="subject:$subject\nfrom:$from\nExample Message" 

그리고 실제 보내는 :

echo -e $mail | /usr/sbin/sendmail "$recipients" 

문제는 [email protected] 이메일을 받고 있다는 점이다. 모든 수신자가 전자 메일을 받도록 어떻게 변경합니까?

참고 :이 솔루션은 내가 jailshell을 사용하고 센드 메일과 함께하고있다 그것은 사용할 수있는 유일한 방법을 것으로 보인다

답변

60

일을보십시오이 : 쉘 를 사용

recipients="[email protected],[email protected],[email protected]" 

그리고 또 다른 접근 방식, 여기-문서는 :

/usr/sbin/sendmail "$recipients" <<EOF 
subject:$subject 
from:$from 

Example Message 
EOF 

RFC 822에 따라 빈 줄과 몸에서 헤더를 분리해야합니다.

+1

EOF 방법을 이용해 주셔서 감사합니다. – lelouch

5

-t 옵션을 sendmail에 사용하십시오. 귀하의 경우

-echo -e $mail | /usr/sbin/sendmail -t 과 오른쪽 From:.....

-t 옵션의 의미 줄 뒤에 To: [email protected] [email protected] 같은 메시지 자체에 행해져 Yout 수령인 목록을 추가 -받는 사람에 대한 읽기 메시지. 받는 사람 :, 참조 : 및 숨은 참조 :받는 사람 주소를 검색합니다. 숨은 참조 : 줄은 전송 전에 삭제됩니다.

+0

'-t' 옵션을 건네 주면,'sendmail : -t 옵션을 가진 수신자가 지원되지 않습니다. '라는 메시지가 나타납니다. 어떤 아이디어? 감사. – Vassilis

관련 문제