Mail

From ICO wiki
Jump to navigationJump to search

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.

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

Saada e-kiri aadressile kevad@kuskil.ee, teema määramiseks kasuta võtit -s, saaja aadress lisa rea lõppu. Seejärel vajuta Enter-klahvi. Süsteem pakub ka võimalust lisada koopia saaja, kuid selle rea võib jätta tühjaks ja liikuda edasi.

mail -s "Tere, kevad!" kevad@kuskil.ee


Seejärel saab kirjutada valmis sõnumi. Reavahetuseks vajuta Enter-klahvi. Kirjutamine lõpetatakse uue rea alguses klahvikombinatsiooniga Ctrl+D. Selle peale saadetakse sõnum teele.

mail -s "Tere, kevad!" kevad@kuskil.ee
Cc: 
Kaugel oled?
Ootan.
Mina
<Ctrl+D>


Sõnumi võib lisada kirjale samal käsureal. Seda on hea kasutada süsteemiteadete saatmiseks.

echo "Olen katki!" | mail -s "Achtung!" mina@minuonn.ee


Teine viis 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 kaust.

root@desktop:~# mail
"/var/mail/root": 7 messages 7 new
>N   1 root               N jaan   7 18:27  15/657   Test1
 N   2 root               N jaan   7 18:27  15/657   Test2
 N   3 root               N jaan   7 18:27  15/657   Test3
 N   4 root               N jaan   7 18:28  15/657   Test4
 N   5 root               N jaan   7 18:28  15/657   Test5
 N   6 root               N jaan   7 18:28  15/657   Test6
 N   7 root               N jaan   7 18:28  15/657   Test7
?

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) - nool nimekirja ees tähistab valitud kirja, 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 mbox, mis asub kasutaja kodukaustas failis mbox. Selle avamiseks tuleb kasutada -f võtit.

root@desktop:~# mail -f
"/root/mbox": 8 messages 6 unread
     1 root               N jaan   7 18:15  18/701   Test
>U   2 root               N jaan   7 18:16  17/667   Test
 U   3 root               N jaan   7 18:28  17/676   Test4
 U   4 root               N jaan   7 18:28  17/676   Test6
     5 root               N jaan   7 18:28  17/677   Test7
 U   6 root               N jaan   7 18:27  18/701   Test1
 U   7 root               N jaan   7 18:27  17/676   Test2
 U   8 root               N jaan   7 18:28  18/701   Test5
?

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

Kasulikke linke

Koostaja

Oliver Tiks - AK21 (2015/2016)

Viited