
| | פעמים רבות אנו נדרשים לשלוח לוגים, קבצים או דואר אחר מממשק הטרמינל (קונסול/שורת פקודה) או במידה וברצוננו לשלב שליחת דואר בסקריפט. במאמר זה אדגים כיצד ניתן לעשות זאת עם שתי תוכנות לקוח (פקודות) mail ו- mutt. |
|
|
|  |
שליחת דואר באמצעות mailתוכנת mail (ובגירסתה החדשה mailx) הינה תוכנית נהדרת שבאמצעותה אפשר לשלוח דואר מממשק הטרמינל או מתוך סקריפט בקלות.
הדוגמא הבאה תשלח דואר אל test@jaya.co.il עם הנושא "This is a test" והתוכן "This is a mail content":
echo "This is a mail content" | mail -s "This is a test" test@jaya.co.il
נוכל כמובן לשלוח תוכן של כל קובץ טקסט כתוכן ההודעה, לדוגמא קובץ לוג והוא ישלח אל הנמען המבוקש
cat "/var/log/apache2/error.log" | mail -s "Appache error log" test@jaya.co.il
בכדי לשלוח קובץ מצורף (attachment) להודעה עלינו להשתמש ב- uuencode לצורך לקודדו קודם לכן בעזרת uuencode, לדוגמא:
uuencode image.jpg image_out.jpg | mail test@jaya.co.il
image.jpg הוא שם הקובץ המקורי ו- image_out.jpg הוא שם הקובץ לאחר הקידוד והוא זה שישלח.
ועכשיו הכל ביחד, בכדי לשלוח טקסט יחד עם קובץ מצורך נוכל להשתמש ב- cat או ב- echo להוספת הטקסט:
(cat /var/log/apache2/error.log; uuencode image.jpg image_out.jpg) | mail -s "Text with attachment" test@jaya.co.il
שליחת דואר באמצעות muttעם תוכנית mutt אופן שליחת הדואר דומה לזה של mail למרות שלדעתי האישית הוא יותר פשוט ויותר נוח.
לשליחת הודעת דואר עם טקסט פשוט נריץ:
echo "This is a mail content" | mutt -s "This is a test" test@jaya.co.il
אפשרות נוספת הכוללת רק את נושא ההודעה אך ללא תוכן:
echo | mutt -s "This is a test" test@jaya.co.il
כשאנו רוצים לשלוח תוכן קובץ טקסט (לוג למשל) כתוכן ההודעה נוכל להשתמש ב- mutt בדרך הבאה:
mutt -s "This is a subject" test@jaya.co.il </var/log/apache2/error.log
לשליחת הודאת דואר המכילה קובץ מצורף (attachment) נוכל להריץ את התוכנית mutt בדרך הבאה:
echo "This is a text content" |mutt -s "This message contains attachment" -a /home/user/imgae.jpg test@jaya.co.il
בהצלחה.