Mail: Difference between revisions
Created page with "Oliver Tiks AK21 2015/2016 sügis" |
No edit summary |
||
Line 1: | Line 1: | ||
Oliver Tiks AK21 2015/2016 | <tt>'''mail'''</tt> 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.<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. | |||
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== | |||
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. | |||
<pre> | |||
mail -> /usr/sbin/sendmail -> saatja MTA (SMTP-server) -> vastuvõtja MTA (ja postkast) | |||
</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== | |||
Selleks, et e-kirju käsurealt saata, paigalda esmalt tarkvarapakk <tt>gnu mailutils</tt>, mis on saadaval enamikus Debiani ja Ubuntu süsteemides. | |||
<syntaxhighlight lang="bash"> | |||
$ sudo apt-get install mailutils | |||
</syntaxhighlight> | |||
Seejärel peakski mail-utiliit olema töövalmis. | |||
''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== | |||
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. | |||
<syntaxhighlight lang="bash"> | |||
$ mail -s "Tere, kevad!" kevad@kuskil.ee | |||
</syntaxhighlight> | |||
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. | |||
<syntaxhighlight lang="bash"> | |||
$ mail -s "Tere, kevad!" kevad@kuskil.ee | |||
Cc: | |||
Kaugel oled? | |||
Ootan. | |||
Mina | |||
<Ctrl+D> | |||
$ | |||
</syntaxhighlight> | |||
Sõnumi võib lisada kirjale samal käsureal. Seda on hea kasutada süsteemiteadete saatmiseks. | |||
<syntaxhighlight lang="bash"> | |||
$ echo "Olen katki!" | mail -s "Achtung!" mina@minuonn.ee | |||
</syntaxhighlight> | |||
Teine viis sõnumi lisamiseks samal real. | |||
<syntaxhighlight lang="bash"> | |||
$ mail -s "Teema" keegi@kuskil.com <<< 'Sõnumi sisu' | |||
</syntaxhighlight> | |||
Kirja sisuks oleva sõnumi saab võtta ka failist. Hea kasutada skripti puhul. | |||
<syntaxhighlight lang="bash"> | |||
$ mail -s "Teema" keegi@kuskil.com < /home/user/minukiri.txt | |||
</syntaxhighlight> | |||
Koopia (CC) saatmiseks kasuta võtit -c, salakoopia (BCC) saatmiseks võtit -b. | |||
<syntaxhighlight lang="bash"> | |||
$ mail -s "Teema" keegi@kuskil.com -c temacc@temaonn.com -b minabcc@minuonn.com | |||
</syntaxhighlight> | |||
Mitmele adressaadile kirja saatmiseks eralda aadressid komaga. | |||
<syntaxhighlight lang="bash"> | |||
$ mail -s "Teema" keegi@kuskil.com,keegiteine@kuskilmujal.com | |||
</syntaxhighlight> | |||
Saatja aadressi näitamiseks kirja päises kasuta võtit -a. | |||
<syntaxhighlight lang="bash"> | |||
# echo "Sõnumi sisu" | mail -s "Teema" keegi@kuskil.com -aFrom:mina@minuonn.com | |||
</syntaxhighlight> | |||
Saatja nime saab ka lisada päisesse. | |||
<syntaxhighlight lang="bash"> | |||
$ echo "Sõnumi sisu" | mail -s "Teema" -aFrom:Nimi\<mina@minuonn.com\> keegi@kuskil.com | |||
</syntaxhighlight> | |||
''Märkus: erimärkide < ja > puhul tuleb terminali käsureal kasutada paomärki \.'' | |||
Manuse lisamist võimaldab samuti võti -a. | |||
<syntaxhighlight lang="bash"> | |||
$ mail -a /home/user/minufail.txt -s "Teema" keegi@kuskil.com < /dev/null | |||
</syntaxhighlight> | |||
''Märkus: < /dev/null jätab kirja sisu tühjaks.'' | |||
Kohalikule kasutajale e-kirja saatmiseks piisab kasutajanimest, aadressi pole vaja. | |||
<syntaxhighlight lang="bash"> | |||
$ mail -s "Teema" kasutajanimi | |||
</syntaxhighlight> | |||
Kasutajanimele võib lisada ka masina nime kasutades @-märki. | |||
<syntaxhighlight lang="bash"> | |||
$ mail -s "Teema" kasutajanimi@masinanimi | |||
</syntaxhighlight> | |||
Meiliserveri testimisel võib olla abiks võti -v (''verbose''), mida kasutades kuvatakse vea korral täpsem logiinfo. | |||
<syntaxhighlight lang="bash"> | |||
$ mail -v -s "Test" keegi@kuskil.com <<< 'See on test' | |||
</syntaxhighlight> | |||
Skripti näide: süsteemiraporti saatmine e-postiga | |||
<syntaxhighlight lang="bash"> | |||
#!/bin/bash | |||
du -sh | mail -s "disk usage report" mina@minudomeen.com | |||
</syntaxhighlight> | |||
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 süsteemi postkontoris olevad uued kirjad, mis asub kaustas <tt>/var/mail/</tt>. Igal kasutajal on seal oma postkast. | |||
<syntaxhighlight lang="bash"> | |||
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 | |||
? | |||
</syntaxhighlight> | |||
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 lugemata kirja saab avada sisestades 'p', kirjade vahel saab liikuda + ja - käskudega. Kustutamiseks sisesta 'd', vastamiseks 'r'. | |||
Postkastist väljumiseks sisesta 'q', nimekirja uuesti kuvamiseks 'h' ja sessiooni katkestamiseks 'x'. | |||
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. | |||
<syntaxhighlight lang="bash"> | |||
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 | |||
? | |||
</syntaxhighlight> | |||
Kirjade vahel navigeerimine käib siin samamoodi. | |||
==Kasulikke linke== | |||
*[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://linux.about.com/od/commands/l/blcmdl1_Mail.htm Linux / Unix Command: mail], About.com Linux | |||
==Koostaja== | |||
Oliver Tiks - AK21 (2015/2016) | |||
==Viited== | |||
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]] |
Revision as of 20:13, 7 January 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.
Allpool on välja toodud mõned peamised mail-utiliidi võimalused, mida on 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 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
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.
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, salakoopia (BCC) saatmiseks võtit -b.
$ mail -s "Teema" keegi@kuskil.com -c temacc@temaonn.com -b minabcc@minuonn.com
Mitmele adressaadile kirja saatmiseks eralda aadressid komaga.
$ mail -s "Teema" keegi@kuskil.com,keegiteine@kuskilmujal.com
Saatja aadressi näitamiseks kirja päises kasuta võtit -a.
# echo "Sõnumi sisu" | mail -s "Teema" keegi@kuskil.com -aFrom:mina@minuonn.com
Saatja nime saab ka lisada päisesse.
$ echo "Sõnumi sisu" | mail -s "Teema" -aFrom:Nimi\<mina@minuonn.com\> keegi@kuskil.com
Märkus: erimärkide < ja > puhul tuleb terminali käsureal kasutada paomärki \.
Manuse lisamist võimaldab samuti 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
Meiliserveri testimisel võib olla abiks võti -v (verbose), mida kasutades kuvatakse vea korral täpsem logiinfo.
$ mail -v -s "Test" keegi@kuskil.com <<< 'See on test'
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 süsteemi postkontoris olevad uued kirjad, mis asub kaustas /var/mail/. Igal kasutajal on seal oma postkast.
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 lugemata kirja saab avada sisestades 'p', kirjade vahel saab liikuda + ja - käskudega. Kustutamiseks sisesta 'd', vastamiseks 'r'.
Postkastist väljumiseks sisesta 'q', nimekirja uuesti kuvamiseks 'h' ja sessiooni katkestamiseks 'x'.
Kui postkastist on väljutud (mitte sessiooni katkestatud), liigutatakse vaikimisi kõik loetud kustutamata kirjad kasutaja isiklikku postkasti mbox, mis asub kasutaja kodukaustas. 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.
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