mail on utiliit, mis võimaldab Linux/Unix süsteemides saata ja lugeda e-kirju käsurealt.
Sissejuhatus
Mail on kõige populaarsem utiliit e-kirjade saatmiseks Linuxi terminalist.[1] Käsurealt e-kirjade saatmise võimalust võib aga vaja minna ka näiteks automaatsete teavituste genereerimiseks skriptist või veebirakendustest.
Mail-utiliit töötab nii juur- kui ka tavakasutaja õigustes.
Allpool on välja toodud mõned peamised mail-utiliidi võimalused, mida on osaliselt refereeritud veebist leitud juhenditest[2][3].
Tööpõhimõte
Mail-käsuga käivitatakse binaarfail /usr/sbin/sendmail, mis pöördub kohaliku sõnumiedastusagendi (MTA) poole, et saata kiri sihtkohta. Kohalikuks sõnumiedastusagendiks on lokaalne meiliserver, mis kasutab porti 25.
mail -> /usr/sbin/sendmail -> saatja MTA (SMTP-server) -> vastuvõtja MTA (ja postkast)
Võimalikud vead
E-posti kasutamiseks peab masinas töötama ka SMTP-server, milleks võib paigaldada ja seadistada näiteks Postfix tarkvara, vastasel korral kuvatakse mail-käsu peale terminalis veateade:
"send-mail: Cannot open mail:25"
Kirja saatmise ebaõnnestumise korral on sagedaks veateateks:
"cannot send message: Process exited with a non-zero status mail"
See viitab kas valesti seadistatud meiliserverile või on saaja aadress ebakorrektselt vormistatud (näiteks puudub sootuks).
Kui Postfix on valesti seadistatud või katki, võib paigaldada ka vanema meiliedastusprogrammi Sendmail, millega mail-utiliit samuti töötab.
Paigaldamine
Selleks, et e-kirju käsurealt saata, paigalda esmalt tarkvarapakk gnu mailutils, mis on saadaval enamikus Debiani ja Ubuntu süsteemides.
sudo apt-get install mailutils
Seejärel peakski mail-utiliit olema töövalmis, kui ei, siis otsi viga.
Märkus: mail-utiliidi saab paigaldada ka teiste pakettidega (heirloom-mailx, bsd-mailx), neist igaüks pakub pisut erinevaid võimalusi.
Kirja saatmine
Kirja saatmiseks lisa käsule mail võti -t ja vajuta Enter-klahvi. Edasi sisesta saaja aadress, soovi korral ka koopia aadress ja teema, misjärel saad kirja panna sõnumi sisu.
Reavahetuseks vajuta Enter-klahvi. Kirjutamine lõpetatakse uue rea alguses klahvikombinatsiooniga Ctrl+D. Selle peale saadetakse sõnum teele. Kui järgmisele reale ilmub käsuviip, on kiri saadetud.
Kirja saatmist saab katkestada sisestades ~x või klahvikombinatsiooniga Ctrl+C ning vajutades Enter-klahvi.
Pikk näide käsurealt saadetud kirjast:
$ mail -t
To: kevad@kuskil.ee
Cc:
Subject: Tere, kevad!
Kaugel oled?
Ootan.
Mina
<Ctrl+D>
$
Saab ka lühemalt, koondades erinevad päised ühele käsureale (sel juhul pole võtit -t tarvis). Näiteks saada e-kiri aadressile keegi@kuskil.ee, teema määramiseks kasuta võtit -s. Jätkamiseks vajuta Enter-klahvi.
mail -s "Teema" keegi@kuskil.ee
Kui unustasid saaja aadressi või teema esimesel real kirja panna, küsitakse neid eraldi. Samuti on taas võimalus lisada koopia aadress. Seejärel saab kirjutada valmis sõnumi.
Sõnumi sisu võib samuti lisada kirjale samal käsureal. Seda on hea kasutada süsteemiteadete saatmiseks.
echo "Olen katki!" | mail -s "Achtung!" admin@domeen.com
On teisigi viise sõnumi lisamiseks samal real.
mail -s "Teema" keegi@kuskil.com <<< 'Sõnumi sisu'
Kirja sisuks oleva sõnumi saab võtta ka failist. Hea kasutada skripti puhul.
mail -s "Teema" keegi@kuskil.com < /home/user/minukiri.txt
Koopia (CC) saatmiseks kasuta võtit -c, pimekoopia (BCC) saatmiseks võtit -b.
mail -s "Teema" keegi@kuskil.com -c temakoopia@temaonn.com -b minupimekoopia@minuonn.com
Mitmele adressaadile kirja saatmiseks eralda aadressid komaga (toimib ka koopia ja pimekoopia saatmisel).
mail -s "Teema" keegi@kuskil.com,keegiteine@kuskilmujal.com
Kirja päisesse täiendava info lisamiseks kasuta võtit -a.
echo "Sõnumi sisu" | mail -s "Teema" keegi@kuskil.com -a "Importance: high"
Manuse lisamist võimaldab võti -A.
mail -A /home/user/minufail.txt -s "Teema" keegi@kuskil.com < /dev/null
Märkus: < /dev/null jätab kirja sisu tühjaks.
Kohalikule kasutajale e-kirja saatmiseks piisab kasutajanimest, aadressi pole vaja.
mail -s "Teema" kasutajanimi
Kasutajanimele võib lisada ka masina nime kasutades @-märki.
mail -s "Teema" kasutajanimi@masinanimi
Skripti näide: süsteemiraporti saatmine e-postiga
#!/bin/bash
du -sh | mail -s "disk usage report" mina@minudomeen.com
Kui need kaks rida salvestada faili ja see käivitada, saadetakse e-kiri käsu du -sh tulemusega.
Kirjade lugemine
Mail-utiliidiga saab kirju ka lugeda. Kui sisestada käsk mail ilma ühegi võtmeta, kuvatakse nö süsteemi postkontoris olevad uued kirjad, mis asuvad kaustas /var/mail/. Igal kasutajal on seal oma postkasti fail (NB! juurkasutaja näeb neid kõiki).
Näide juurkasutajale saabunud e-kirjadest:
root@desktop:~# mail
"/var/mail/root": 5 messages 3 new 2 unread
U 1 tudeng E jaan 11 22:59 18/725 Test from student
U 2 Kalju Kiilakas E jaan 11 23:24 17/724 Test from kkaalikas
>N 3 juri@desktop.lab.i E jaan 11 23:27 15/664 Test from Juri
N 4 kuldnokk@desktop.l E jaan 11 23:31 16/726 Test from kuldnokk
N 5 root T jaan 12 00:17 15/678 Testkiri failist
?
Nool nimekirja ees tähistab valitud kirja. U tähistab lugemata kirja, mis eelmisel korral jäi vaatamata. N tähistab uut kirja, mis on saabunud vahepealsel ajal.
Nimekirja lõpus olev ? tähistab seda, et terminal ootab käsku. Iga käsk tuleb kinnitada Enter-klahviga.
Kirja avamiseks sisesta kirja järjekorranumber. Esimese uue või lugemata kirja saab avada sisestades p (print), kirjade vahel saab liikuda + ja - käskudega. Kustutamiseks sisesta d (delete), vastamiseks r (reply).
Postkastist väljumiseks sisesta q (quit), nimekirja uuesti kuvamiseks h (headers) ja sessiooni katkestamiseks x (exit).
Kui postkastist on väljutud (mitte sessiooni katkestatud), liigutatakse vaikimisi kõik loetud kustutamata kirjad kasutaja isiklikku postkasti, mis asub kasutaja kodukaustas failis mbox. Selle avamiseks tuleb kasutada -f võtit.
Näide juurkasutaja postkastist:
root@desktop:~# mail -f
"/root/mbox": 8 messages 3 new 2 unread
1 root R jaan 8 00:04 19/707 Test12
2 Anacron R jaan 8 01:59 18/887 Anacron job 'cron.daily'
3 Anacron E jaan 11 22:54 18/890 Anacron job 'cron.daily'
U 4 tudeng E jaan 11 22:59 18/725 Test from student
U 5 Kalju Kiilakas E jaan 11 23:24 17/724 Test from kkaalikas
>N 6 juri@desktop.lab.i E jaan 11 23:27 15/664 Test from Juri
N 7 kuldnokk@desktop.l E jaan 11 23:31 16/726 Test from kuldnokk
N 8 root T jaan 12 00:17 15/678 Testkiri failist
?
Kirjade vahel navigeerimine käib siin samamoodi. Kirju saab kuvada / kustutada ka mitmekaupa. Selleks tuleb sisestada näiteks p 1 2 (kuvatakse esimesed kaks kirja) või d 2-4 (kustutatakse kirjad 2, 3 ja 4).
Kokkuvõte
Mail-utiliiti on lihtne installida ja käsurealt kasutada, kuid isiklikuks kirjavahetuseks pole see ehk kõige mugavam ega ka privaatsem viis. Küll aga sobib see utiliit hästi erinevate süsteemiraportite saatmiseks ja teavituste seadistamiseks skriptides.
Kasulikke linke
- Send and Receive Mail / GNU Mailutils manual
- mail - Unix, Linux Command, TutorialsPoint
- Linux / Unix Command: mail, About.com Linux
Koostaja
Oliver Tiks - AK21 (2015/2016)
Viited
- ↑ 5 Ways to Send Email From Linux Command Line, TecAdmin.net
- ↑ Linux mail command examples – send mails from command line, BinaryTides
- ↑ How to send email from the Linux command line, SimpleHelp