2012-11-15 15 views
30

मैं एक निश्चित शर्त मिलने पर एकाधिक प्राप्तकर्ताओं को मेल भेजने के लिए क्रॉन में एक बैश स्क्रिप्ट चला रहा हूं।एकाधिक प्राप्तकर्ताओं के लिए 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 उपयोग कर रहा हूँ sendmail साथ हो गया है और यह केवल उपलब्ध विधि प्रतीत हो रहा है

उत्तर

60

कर इसे आज़माएं:

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

और एक और दृष्टिकोण, खोल का उपयोग कर यहां-डॉक:

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

Example Message 
EOF 

प्रति RFC 822 के रूप में एक रिक्त पंक्ति के साथ शरीर से हेडर अलग करने के लिए सुनिश्चित करें। sendmail के लिए विकल्प आयकर

+1

EOF विधि के लिए धन्यवाद, और अधिक सुंदर! साथ आयकर विकल्प supported' नहीं प्राप्तकर्ताओं: – lelouch

5

का प्रयोग करें।

अपने मामले में - echo -e $mail | /usr/sbin/sendmail -t और सही लाइन From:.....

-t विकल्प का मतलब है के बाद संदेश ही करने के लिए yout Recepient सूची में जोड़ने के To: [email protected] [email protected] तरह - प्राप्तकर्ताओं के लिए पढ़ें संदेश। प्रतिलिपि :, और गुप्त प्रतिलिपि प्रति :,: लाइनों प्राप्तकर्ता के पते के लिए स्कैन किया जाएगा। गुप्त प्रति: पंक्ति प्रसारण से पहले हटा दिया जाएगा।

+0

जब मैं '-t' विकल्प गुजरती हैं, मैं' sendmail मिलता है। कोई विचार? धन्यवाद। – Vassilis

संबंधित मुद्दे