Mail: Difference between revisions

From ICO wiki
Jump to navigationJump to search
 
(93 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{lowercase}}
<tt>'''mail'''</tt> on utiliit, mis võimaldab Linux/Unix süsteemides saata ja lugeda e-kirju käsurealt.
<tt>'''mail'''</tt> on utiliit, mis võimaldab Linux/Unix süsteemides saata ja lugeda e-kirju käsurealt.


==Sissejuhatus==
==Sissejuhatus==


Mail on kõige populaarsem utiliit e-kirjade saatmiseks Linuxi terminalist.<ref>[http://tecadmin.net/ways-to-send-email-from-linux-command-line/ 5 Ways to Send Email From Linux Command Line], TecAdmin.net</ref> Käsurealt e-kirjade saatmise võimalust võib aga vaja minna ka näiteks automaatsete teavituste genereerimiseks skriptist või veebirakendustest.
Mail on kõige populaarsem utiliit e-kirjade saatmiseks Linuxi terminalist.<ref>[http://tecadmin.net/ways-to-send-email-from-linux-command-line/ 5 Ways to Send Email From Linux Command Line], TecAdmin.net</ref> 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<ref>[http://www.binarytides.com/linux-mail-command-examples/ Linux mail command examples – send mails from command line], BinaryTides</ref><ref>[http://www.simplehelp.net/2008/12/01/how-to-send-email-from-the-linux-command-line/ How to send email from the Linux command line], SimpleHelp</ref>.
 
Allpool on välja toodud mõned peamised mail-utiliidi võimalused, mida on refereeritud veebist leitud juhenditest.<ref>[http://www.binarytides.com/linux-mail-command-examples/ Linux mail command examples – send mails from command line], BinaryTides</ref><ref>[http://www.simplehelp.net/2008/12/01/how-to-send-email-from-the-linux-command-line/ How to send email from the Linux command line], SimpleHelp</ref>


==Tööpõhimõte==
==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-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).


<pre>
<pre>
Line 15: Line 14:
</pre>
</pre>


==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:
<blockquote>
"send-mail: Cannot open mail:25"
</blockquote>
Kirja saatmise ebaõnnestumise korral on sagedaks veateateks:
<blockquote>
"cannot send message: Process exited with a non-zero status mail"
</blockquote>
See viitab kas valesti seadistatud meiliserverile või on kirjale jäänud lisamata saaja aadress.
Kui [[Postfix]] on valesti seadistatud või katki, võib paigaldada ka vanema meiliedastusprogrammi [[Sendmail]], millega mail-utiliit samuti töötab.
==Paigaldamine==
==Paigaldamine==


Line 37: Line 19:


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
$ sudo apt-get install mailutils
sudo apt-get install mailutils
</syntaxhighlight>
</syntaxhighlight>


Line 44: Line 26:
''Märkus: mail-utiliidi saab paigaldada ka teiste pakettidega (<tt>heirloom-mailx</tt>, <tt>bsd-mailx</tt>), neist igaüks pakub pisut erinevaid võimalusi.''
''Märkus: mail-utiliidi saab paigaldada ka teiste pakettidega (<tt>heirloom-mailx</tt>, <tt>bsd-mailx</tt>), neist igaüks pakub pisut erinevaid võimalusi.''


==Kirja saatmine==
==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===


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.  
Kirja saatmise alustamiseks lisa käsule <tt>mail</tt> võti <tt>-t</tt> ja vajuta Enter-klahvi.  
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
$ mail -s "Tere, kevad!" kevad@kuskil.ee
mail -t
</syntaxhighlight>
</syntaxhighlight>


Edasi sisesta saaja aadress, soovi korral ka koopia aadress ja teema, misjärel saad kirja panna sõnumi sisu.


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.
Reavahetuseks vajuta <tt>Enter</tt>-klahvi. Kirjutamine lõpetatakse uue rea alguses klahvikombinatsiooniga <tt>Ctrl+D</tt>. Selle peale saadetakse sõnum teele. Kui järgmisele reale ilmub käsuviip, on kiri saadetud.
 
Kirja saatmist saab katkestada sisestades <tt>~x</tt> või klahvikombinatsiooniga <tt>Ctrl+C</tt> ning vajutades <tt>Enter</tt>-klahvi.
 
Näide käsurealt saadetud kirjast (<tt>$</tt> tähistab käsuviipa):
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
$ mail -s "Tere, kevad!" kevad@kuskil.ee
$ mail -t
To: kevad@kuskil.ee
Cc:  
Cc:  
Subject: Tere, kevad!
Kaugel oled?
Kaugel oled?
Ootan.
Ootan.
Line 64: Line 57:




Sõnumi võib lisada kirjale samal käsureal. Seda on hea kasutada süsteemiteadete saatmiseks.  
Saab ka lühemalt, koondades erinevad päised ühele käsureale (sel juhul pole võtit <tt>-t</tt> tarvis). Näiteks saada e-kiri aadressile keegi@kuskil.ee, teema määramiseks kasuta võtit <tt>-s</tt>. Jätkamiseks vajuta <tt>Enter</tt>-klahvi.  
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
$ echo "Olen katki!" | mail -s "Achtung!" mina@minuonn.ee
mail -s "Teema" keegi@kuskil.ee
</syntaxhighlight>
</syntaxhighlight>


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.


Teine viis sõnumi lisamiseks samal real.
 
Sõnumi sisu võib samuti lisada kirjale samal käsureal. Seda on hea kasutada süsteemiteadete saatmiseks.
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
$ mail -s "Teema" keegi@kuskil.com <<< 'Sõnumi sisu'
echo "Olen katki!" | mail -s "Achtung!" admin@domeen.com
</syntaxhighlight>
</syntaxhighlight>




Kirja sisuks oleva sõnumi saab võtta ka failist. Hea kasutada skripti puhul.
Veel üks näide sõnumi lisamiseks samal real.
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
$ mail -s "Teema" keegi@kuskil.com < /home/user/minukiri.txt
mail -s "Teema" keegi@kuskil.com <<< 'Sõnumi sisu'
</syntaxhighlight>
</syntaxhighlight>




Koopia (CC) saatmiseks kasuta võtit -c, pimekoopia (BCC) saatmiseks võtit -b.
Kirja sisuks oleva sõnumi saab võtta ka failist. Hea kasutada skripti puhul.
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
$ mail -s "Teema" keegi@kuskil.com -c temakoopia@temaonn.com -b minupimekoopia@minuonn.com
mail -s "Teema" keegi@kuskil.com < /home/user/minukiri.txt
</syntaxhighlight>
</syntaxhighlight>




Mitmele adressaadile kirja saatmiseks eralda aadressid komaga (toimib ka koopia ja pimekoopia saatmisel).
Koopia (CC) saatmiseks kasuta võtit <tt>-c</tt>, pimekoopia (BCC) saatmiseks võtit <tt>-b</tt>.
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
$ mail -s "Teema" keegi@kuskil.com,keegiteine@kuskilmujal.com
mail -s "Teema" keegi@kuskil.com -c temakoopia@temaonn.com -b minupimekoopia@minuonn.com
</syntaxhighlight>
</syntaxhighlight>




Saatja aadressi näitamiseks kirja päises kasuta võtit -a.
Mitmele adressaadile kirja saatmiseks eralda aadressid komaga (toimib ka koopia ja pimekoopia saatmisel).
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# echo "Sõnumi sisu" | mail -s "Teema" keegi@kuskil.com -aFrom:mina@minuonn.com
mail -s "Teema" keegi@kuskil.com,keegiteine@kuskilmujal.com
</syntaxhighlight>
</syntaxhighlight>




Saatja nime saab ka lisada päisesse.
Kirja päisesse täiendava info lisamiseks kasuta võtit <tt>-a</tt>.
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
$ echo "Sõnumi sisu" | mail -s "Teema" -aFrom:Nimi\<mina@minuonn.com\> keegi@kuskil.com
echo "Sõnumi sisu" | mail -s "Teema" keegi@kuskil.com -a "Importance: high"
</syntaxhighlight>
</syntaxhighlight>
''Märkus: erimärkide < ja > puhul tuleb terminali käsureal kasutada paomärki \.''




Manuse lisamist võimaldab samuti võti -a.
Manuse lisamist võimaldab võti <tt>-A</tt>.
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
$ mail -a /home/user/minufail.txt -s "Teema" keegi@kuskil.com < /dev/null
mail -A /home/user/minufail.txt -s "Teema" keegi@kuskil.com < /dev/null
</syntaxhighlight>
</syntaxhighlight>
''Märkus: < /dev/null jätab kirja sisu tühjaks.''
''Märkus: < /dev/null jätab kirja sisu tühjaks.''


Kohalikule kasutajale e-kirja saatmiseks piisab kasutajanimest, aadressi pole vaja.
Kohalikule kasutajale e-kirja saatmiseks piisab kasutajanimest, aadressi pole vaja.
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
$ mail -s "Teema" kasutajanimi
mail -s "Teema" kasutajanimi
</syntaxhighlight>
</syntaxhighlight>




Kasutajanimele võib lisada ka masina nime kasutades @-märki.
Kasutajanimele võib lisada ka masina nime kasutades <tt>@</tt>-märki.
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
$ mail -s "Teema" kasutajanimi@masinanimi
mail -s "Teema" kasutajanimi@masinanimi
</syntaxhighlight>
</syntaxhighlight>




Meiliserveri testimisel võib olla abiks võti -v (''verbose''), mida kasutades kuvatakse vea korral täpsem logiinfo.
Skripti näide: süsteemiraporti saatmine e-postiga
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
$ mail -v -s "Test" keegi@kuskil.com <<< 'See on test'
#!/bin/bash
du -sh | mail -s "disk usage report" mina@minudomeen.com
</syntaxhighlight>
</syntaxhighlight>


Kui need kaks rida salvestada faili ja see käivitada, saadetakse e-kiri käsu <tt>du -sh</tt> tulemusega.


Skripti näide: süsteemiraporti saatmine e-postiga
===Kirjade lugemine===
 
Mail-utiliidiga saab kirju ka lugeda. Selleks on samuti käsk <tt>mail</tt>.
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
#!/bin/bash
mail
du -sh | mail -s "disk usage report" mina@minudomeen.com
</syntaxhighlight>
</syntaxhighlight>


Kui need kaks rida salvestada faili ja see käivitada, saadetakse e-kiri käsu "du -sh" tulemusega.
Kui sisestada käsk <tt>mail</tt> ilma ühegi võtmeta, kuvatakse nö süsteemi postkontoris olevad uued kirjad, mis asuvad kaustas <tt>/var/mail/</tt>. Igal kasutajal on seal oma postkasti fail (NB! juurkasutaja saab neid kõiki lugeda).


==Kirjade lugemine==
Näide juurkasutajale saabunud e-kirjadest (<tt>root@desktop:~#</tt> on käsuviip):
 
Mail-utiliidiga saab kirju ka lugeda. Kui sisestada käsk 'mail' ilma ühegi võtmeta, kuvatakse süsteemi postkontoris olevad uued kirjad, mis asub kaustas <tt>/var/mail/</tt>. Igal kasutajal on seal oma postkast.


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
root@desktop:~# mail
root@desktop:~# mail
"/var/mail/root": 7 messages 7 new
"/var/mail/root": 5 messages 3 new 2 unread
>N   1 root              N jaan   7 18:27 15/657   Test1
U   1 tudeng            E jaan 11 22:59 18/725   Test from student
  N   2 root              N jaan   7 18:27 15/657   Test2
  U   2 Kalju Kiilakas    E jaan 11 23:24 17/724   Test from kkaalikas
N  3 root              N jaan   7 18:27  15/657   Test3
>N  3 juri@desktop.lab.i E jaan 11 23:27  15/664   Test from Juri
  N  4 root              N jaan   7 18:28 15/657   Test4
  N  4 kuldnokk@desktop.l E jaan 11 23:31 16/726   Test from kuldnokk
  N  5 root              N jaan   7 18:28  15/657  Test5
  N  5 root              T jaan  12 00:17 15/678   Testkiri failist
  N  6 root              N jaan  7 18:28  15/657  Test6
?
N  7 root              N jaan  7 18:28 15/657   Test7
?  
</syntaxhighlight>
</syntaxhighlight>


Nimekirja lõpus olev ? tähistab seda, et terminal ootab käsku. '''Iga käsk tuleb kinnitada Enter-klahviga.'''
Nool nimekirja ees tähistab valitud kirja. <tt>U</tt> tähistab lugemata kirja, mis eelmisel korral jäi vaatamata. <tt>N</tt> tähistab uut kirja, mis on saabunud vahepealsel ajal.
 
Nimekirja lõpus olev <tt>?</tt> 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 <tt>p</tt> (<tt>print</tt>), kirjade vahel saab liikuda <tt>+</tt> ja <tt>-</tt> käskudega. Kustutamiseks sisesta <tt>d</tt> (<tt>delete</tt>), vastamiseks <tt>r</tt> (<tt>reply</tt>).


Kirja avamiseks sisesta kirja järjekorranumber. Esimese uue või lugemata kirja saab avada sisestades 'p' (nool nimekirja ees tähistab valitud kirja), kirjade vahel saab liikuda + ja - käskudega. Kustutamiseks sisesta 'd', vastamiseks 'r'.
Postkastist väljumiseks sisesta <tt>q</tt> (<tt>quit</tt>), nimekirja uuesti kuvamiseks <tt>h</tt> (<tt>headers</tt>) ja sessiooni katkestamiseks <tt>x</tt> (<tt>exit</tt>).


Postkastist väljumiseks sisesta 'q', nimekirja uuesti kuvamiseks 'h' ja sessiooni katkestamiseks 'x'.
Kui <tt>/var/mail/</tt> kaustas asuvast postkastist on väljutud (mitte sessiooni katkestatud), liigutatakse vaikimisi kõik loetud kustutamata kirjad kasutaja isiklikku postkasti, mis asub kasutaja kodukaustas failis <tt>mbox</tt>. Selle avamiseks tuleb käsuga <tt>mail</tt> kasutada <tt>-f</tt> võtit.
<syntaxhighlight lang="bash">
mail -f
</syntaxhighlight>


Kui postkastist on väljutud (mitte sessiooni katkestatud), liigutatakse vaikimisi kõik loetud kustutamata kirjad kasutaja isiklikku postkasti <tt>mbox</tt>, mis asub kasutaja kodukaustas. Selle avamiseks tuleb kasutada -f võtit.
Näide juurkasutaja postkastist (<tt>root@desktop:~#</tt> on käsuviip):


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
root@desktop:~# mail -f
root@desktop:~# mail -f
"/root/mbox": 8 messages 6 unread
"/root/mbox": 8 messages 3 new 2 unread
     1 root              N jaan  7 18:15 18/701   Test
     1 root              R jaan  8 00:04 19/707   Test12
>U  2 root              N jaan  7 18:16 17/667   Test
    2 Anacron            R jaan  8 01:59 18/887   Anacron job 'cron.daily'
3 root              N jaan   7 18:28 17/676   Test4
    3 Anacron            E jaan 11 22:54 18/890   Anacron job 'cron.daily'
  U  4 root              N jaan   7 18:28 17/676   Test6
  U  4 tudeng            E jaan 11 22:59 18/725   Test from student
    5 root              N jaan   7 18:28 17/677   Test7
5 Kalju Kiilakas    E jaan 11 23:24 17/724   Test from kkaalikas
U   6 root              N jaan   7 18:27  18/701   Test1
>N   6 juri@desktop.lab.i E jaan 11 23:27  15/664   Test from Juri
  U   7 root              N jaan   7 18:27 17/676   Test2
  N   7 kuldnokk@desktop.l E jaan 11 23:31 16/726   Test from kuldnokk
  U   8 root              N jaan   7 18:28 18/701   Test5
  N   8 root              T jaan 12 00:17 15/678   Testkiri failist
?
?
</syntaxhighlight>
</syntaxhighlight>


Kirjade vahel navigeerimine käib siin samamoodi.
Kirjade vahel navigeerimine käib siin samamoodi. Kirju saab kuvada / kustutada ka mitmekaupa. Selleks tuleb sisestada näiteks <tt>p 1 2</tt> (kuvatakse esimesed kaks kirja) või <tt>d 2-4</tt> (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:
<blockquote>
"send-mail: Cannot open mail:25"
</blockquote>
 
Kirja saatmise ebaõnnestumise korral on sagedaks veateateks:
<blockquote>
"cannot send message: Process exited with a non-zero status mail"
</blockquote>
 
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==
==Kasulikke linke==
*[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


==Koostaja==
==Autor==
Oliver Tiks - AK21 (2015/2016)
Oliver Tiks - AK21 (2015/2016)



Latest revision as of 01: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

Autor

Oliver Tiks - AK21 (2015/2016)

Viited