Hurriyet

16 Ocak 2014 Perşembe

Linux / Unix Komutu: Mailx - Mailx Komutu Nedir - Nasıl Kullanılır - Unix Sistemden Mail Göndermek - Hem Body'li Hem Attachment'lı Mail Göndermek - How To Use Mailx Command

Mailx komutuyla Unix ve Linux ortamlarda mail atabiliriz. Mailx komutunu tek başına kullanmak biraz zahmetlidir. Bu şekilde kullanabilmek mümkünse de genelde diğer bir komut ile birleşik olarak kullanılır.

Mailx Komutu Kullanımı:


 mailx berke.oz@abc.com.tr  

ya da

 mailx  -s deneme berke.oz@abc.com.tr  

Mailx komutundaki -s ile mailini subject kısımını doldururuz. Burada deneme olarak belirlemiş bulunmaktayız. Yukarıdaki gibi mail komutumuzu oluşturduğumuzda bize subject sorusunu sormaz.ama -s parametresini kullanmadan basarsak bize subject sorar. Subject ile ilgili cevabı verdikten sonra mesajın içeriğini doldururuz. Mesajı yazmayı bitirdiğimizde 'ctrl + D' tuşuna basıp maili bitiririz.

Mailimizi kendimiz yazmayacaksak ve bir komutun çıktısını yazdırıp kendimize mail atmak istiyorsak, komutların çıktısını toptan bir log dosyasına yazıp kendimize ya attachment olarak ya da mail olarak attırabiliriz.

Aşağıdaki komut ile log dosyamızın içerisindeki bilgileri kendimize mail olarak "deneme" konu adıyla attırırız.

 more abc.log | mailx -s deneme berke.oz@abc.com.tr  

Attachment Olarak Mail Nasıl Gönderilir?

Mail'e attachment koyabilmemiz için başka bir komut kullanmaktayız Bu komut uuencode'dur. Attachment'ı dolduracağımız dosyayı önce okuturuz. Burada içinde bilgi olan abc.log dosyasını okuyup sonrasında uuencode ile binary dosyalara çeviririz. Attachment içerisinde nasıl bir isimle görülmesini istiyorsak uuencode'da o ismi yazarız. Ben burada "uuencode abc.log" şeklinde yazsam da oraya istediğimiz adı koyabiliriz. Bu ad attachment dosyasının adı olarak  mail'de gözükecektir. Sonrasında ise standart olarak mailx komutumuzu kullanırız.

more abc.log | uuencode abc.log | mailx -s deneme berke.oz@abc.com.tr

Attachment'lı Mail Nasıl Gönderilir?

Attachment'lı mail olarak göndermenin diğer konu başlığımızdan farkı mailimizin içerisinde attachment ve body olmasıdır. Üstteki mail komutunda dosya attachment olarak eklenir ancak body kısmına yazı yazılmaz.
Bu konu başlığımızda ise hem body de text göndermek için, hem de attachment olarak dosya göndermek nasıl olur onu göstereceğiz.

Bunun için en başta attachment dosyası hazırlanması gerekir. Attachment olarak göndermek istediğimiz dosyayı uuencode komutuyla birlikte attachment dosyasının ismini görmek istediğimiz şekilde formatlarız. Yani abc.log olarak sistemde bulunan dosyayı abcd.txt olarak mail'imize ekleriz.

uuencode abc.log abc.log > abcd.txt 

Sonrasında bu attachment dosyasını body kısmında görülmesi istenen dosyayla birleştiririz.

cat abc.log abcd.txt > birlestirilmis_text_adı.txt  

Bütün text'ler hazırlandıktan sonra mail gönderilmeye hazır hale gelir.

mailx -s "Statü Kontrolü" berke.oz@abc.com.tr < birlestirimis_text_adı.txt

Bu şekilde mail'imizin içeriğinde hem göndereceğimiz dosyanın text'ini, hem de kendisini attachment olarak göndermiş oluruz.

Mailx Komutunda From Kısmının Ayarlanması:

Mailx komutuna "-r" argümanını kullanaraktan from kısmını ayarlayabiliriz. Aşağıdaki örnekte "adapcctl.sh" adlı dosya içinde text olan herhangi bir dosya iken, -r argümanı "from" kısmını belirler -s "subject" kısmını belirlerken "to" kısmını da "abc" den sonraki mail adresi belirler.

more adapcctl.sh | mailx -r "deneme@deneme.com" -s "abc" ber@mailinator.com


Referans:
http://www.nyayapati.com/srao/2010/03/sending-email-with-a-body-and-attachment-from-unix/

Hiç yorum yok:

Yorum Gönder