Mail: Difference between revisions
Line 206: | Line 206: | ||
*[http://mailutils.org/manual/html_section/mail.html Send and Receive Mail / GNU Mailutils manual] | *[http://mailutils.org/manual/html_section/mail.html Send and Receive Mail / GNU Mailutils manual] | ||
*[http://www.tutorialspoint.com/unix_commands/mail.htm mail - Unix, Linux Command], TutorialsPoint | *[http://www.tutorialspoint.com/unix_commands/mail.htm mail - Unix, Linux Command], TutorialsPoint | ||
*[http://linux.about.com/od/commands/l/blcmdl1_Mail.htm Linux / Unix Command: mail], About.com Linux | *[http://linux.about.com/od/commands/l/blcmdl1_Mail.htm Linux / Unix Command: mail], About.com - Linux | ||
==Autor== | ==Autor== |
Latest revision as of 00:12, 14 June 2016
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 (SMTP).
mail -> /usr/sbin/sendmail -> saatja MTA (SMTP-server) -> vastuvõtja MTA (ja postkast)
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.
Kasutamine
Mail-utiliidil on päris palju erinevaid võimalusi, mida saab kasutada, täpsustades erinevate võtmete lisamisega põhikäsku. Siin osas välja toodud näited on läbi proovitud Ubuntu terminalis.
Kirja saatmine
Kirja saatmise alustamiseks lisa käsule mail võti -t ja vajuta Enter-klahvi.
mail -t
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.
Näide käsurealt saadetud kirjast ($ tähistab käsuviipa):
$ 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. Ka on 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
Veel üks näide 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. Selleks on samuti käsk mail.
mail
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 saab neid kõiki lugeda).
Näide juurkasutajale saabunud e-kirjadest (root@desktop:~# on käsuviip):
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 (vaikimisi on nool selle ees) 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 /var/mail/ kaustas asuvast 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 käsuga mail kasutada -f võtit.
mail -f
Näide juurkasutaja postkastist (root@desktop:~# on käsuviip):
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).
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.
Kokkuvõte
Mail-utiliiti on käsurealt lihtne paigaldada ja 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.
Sellel käsul on omajagu lisavõimalusi, millest siin on käsitletud vaid väikest osa, mistõttu tasub kindlasti tutvuda ka vastava dokumentatsiooniga.
Kasulikke linke
- Send and Receive Mail / GNU Mailutils manual
- mail - Unix, Linux Command, TutorialsPoint
- Linux / Unix Command: mail, About.com - Linux
Autor
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