Pošta
Celoobrazový klienti
Program pine
SYNOPSIS
pine [prijemce]
Program pine
(nebo alpine
) je celoobrazový klient pro čtení a posílání zpráv
v konzoli. Po spuštění uvidíte v dolní časti seznam zkratek, kterými
se pine
ovládá, takže k němu asi není třeba moc dalšího psát.
(Znak ^
znamená CTRL).
Pro začátek jen napovím, že pro ukončení programu je někdy třeba přejít
do hlavního menu, případně do seznamu zpráv (pokud čtete zprávy),
no prostě používejte klávesu <
než
se dostanete k Q - quit
.
Příloha se zadává (při psaní zprávy) na řádku Attchmnt:
.
Najeďte kurzorem na tuto řádku a stiskněte CTRL+t pro procházení
souborového systému.
A ještě jeden tip: při čtení zprávy můžete používat zkratky pro pohyb ve zprávě jako v emacsu (CTRL+n pro "next" řádku, CTRL+p pro "previous" řádku atp.)
Program mutt
Další celoobrazový klient do konzole. Nepoužívám, neznám ….
Program mail
Program mailx
je novější verze původního programu mail
.
Většinou je v linuxu mail
jen symbolickým odkazem na mailx
.
Protože je mail
kratší, budu nadále používat toto jméno.
heirloom-mailx
,
protože defaultní verze mailu je ta stará, která toho moc neumí.
Pokud spustíte mail bez argumentů, vypíše se seznam zpráv a spustí se jeho příkazová řádka. V té můžete zadávat příkazy na zobrazení seznamu správ, přečtení zprávy, mazání atd. (Příkazy budou popsány dále).
Pokud spustíte mail
se adresou příjemce (pro uživatele na vašem PC
stačí jeho login, jinak se zadává běžná emailová adresa), mail se vás
zeptá na předmět a pak píšete tělo zprávy (řádek po řádku, podobně jako
v editoru ed
). Psaní zprávy ukončíte napsáním tečky na samostatném
řádku. Mail se pak ihned odešle.
SYNOPSIS
mail [-s predmet] [-r odesilatel] prijemce [prijemce ...] mail [-f [soubor]] [-H] mail -u usrid
OPTIONS
- -s predmet
- Předmět zprávy. Pokud není zadán jako argument,
mail
se na něj zeptá. - -r odesilatel
- Nastaví odesílatele (from)
- -f [soubor]
- Čte zprávy ze zadaného souboru. Pokud není soubor zadán, čte zprávy z ~/mbox (do tohoto souboru
se ukládají už přečtené zprávy. Takže pro čtení starých zpráv je potřeba spustit program s tímto
argumentem).
Volba -f se může použít na čtení pošty na vzdáleném počítači pomocí pop3 nebo imap:
mail -f "pop3://mylogin@pop3.centrum.cz"
- -H
- Vypíše hlavičky zpráv a ukončí se
- -u userid
- Čte zprávy uživatele zadaného id. (musíte na to mít přístupová práva)
Psaní zprávy (vkládací režim)
Psaní zprávy začnete buď tak, že spustíte mail
se seznamem příjemců, nebo
v příkazovém režimu zadáte příkaz mail
.
Příkaz ~
Je-li na začátku řádku uveden znak ~
, slouží pro přechod z vkládacího
do příkazového režimu. Za znakem ~
následuje příkaz (další znak), viz
následující seznam:
- ~?
- vypíše nápovědu
- ~:
- nyni lze zadat normalni prikaz pro
mailx
(napr~:sh
spustí shell) - ~p
- vyslat zpravu, ktera se prave pise
- ~h
- vyžádat si předmět (zadává se řádek po řádku to, cc, bcc, předmět …)
- ~t to
- přidat uživatele do seznamu příjemců
- ~s predmet
- definovat předmět
- ~c uzivatel
- přidat uživatele do seznamu cc (komu se pošle kopie)
- ~b uzivatel
- přidat uživatele do seznamu bcc (komu se pošle slepá kopie, tj. kopie o které nikdo, krom příjemce, neví)
- ~v
- zprávu editovat editorem vim
- ~p
- Vytiskne text zprávy na obrazovku
- ~@ [soubor]
- Bez jména souboru umožňuje editovat seznam příloh a přidat další. Se zadaným jménem souboru, přidá soubor do příloh (pokud je v názvu souboru mezera, tak lze přidat jen prvním způsobem (spuštěním ~@ bez jména souboru …)
- ~r file
- Vloží obsah souboru do těla zprávy
- ~! prikaz
- provede jeden příkaz shellu a pak se vrátí zpět k editaci těla zprávy
Zpracování došlé pošty (příkazový režim)
Po spuštění programu bez zadání příjemce zprávy se vypíšou hlavičky zpráv a spustí se příkazový krežim.
"/home/petr/mbox": 3 messages
Heirloom mailx version 12.5 7/5/10. Type ? for help.
"/var/mail/petr": 1 message 1 new
O 1 petr@linux-0eqy.si Fri Jul 5 16:11 25/639 ahoooj
O 2 petr@linux-0eqy.si Fri Jul 5 16:33 21/621 ssssssss
>N 3 petr@edge.site Fri Jul 5 18:04 18/523 Test
První sloupec ukazuje, která zpráva je aktivní (na tu se budou vztahovat příkazy, pokud neurčíte pořadové číslo zprávy). Druhý sloupec je pořadové číslo zprávy, pak email, datum atd.
Výběr zprávy pro příkaz
Většina příkazů umožňuje zadat číslo zprávy, se kterou má příkaz pracovat. Je možné zadávat i rozsah zpráv (od - do):
Vyzkoušet si to můžete s příkazem print
, který tiskne obsah emailů na obrazovku.
Pokud zadáte p 3
, vytiskne se třetí zpráva. Dokonce stačí zadat jen 3
a vypíše
se třetí zpráva (print je defaultní akce).
- 3
- mail číslo 3.
- 2-5
- maily 2 až 5 včetně
- 2 5
- zprávy 2 a 5.
- *
- přečíst všechny zprávy
- $
- poslední zrpáva
- ^
- první
- .
- aktuální
- :d
- všechny zrušené zprávy
- :n
- nové
- :o
- staré
- :r
- již čtené
- :u
- ještě nečtené
- /retezec
- obsahující řetězec
- userid
- zprávy daného uživatele
Příkazy
- ?
- Nápověda
- l
- (malé L) vypíše všechny příkazy, bez nápovědy
- h [+-$]
- vypíše se záhlaví všech zpráv. Pokud se všechny nevejdou na obrazovku,
vypíše se jich jen několik.
h+
vypíše další v řadě,h-
vypíše předchozí,h$
vypíše poslední - f n
- vypíše se znovu záhlaví n-té zprávy
- fi soubor
- přečíst zprávu z daného souboru (
/home/user/mbox
) - ho n…
- uvedené zprávy podržet v poštovní schránce
- s 3 soubor
- vyzvedne zprávu 3 z poštovní schránky a přesune ji do
pracovního adresáře do souboru. Pokud soubor není
uveden, uloží se do souboru
mbox
. (Maily se do mbox uloží po přečtení automaticky, takže se příkazs
hodí jen pro ukládání do jiného souboru.) - w
- totéž co
s
, ale bez úschovy záhlaví - c
- totéž co
s
, ale bez označení zpráv jako uložených - folder soubor
- Připojí se do daného souboru. Je možné se připojit i na vzdálený počítač pomocí
pop3 nebo imap:
folder "pop3://mylogin@pop3.centrum.cz"
- si
- vypíše délku mailu (size)
- =
- vypíše číslo aktuální zprávy
- !prikaz
- vyvolá se subshell, v jeho rámci se provede příkaz a řízení se opět předá programu mail.
- sh
- vyvolá se shell a po ukončení (Ctrl+d) se vrátí zpět do mailu
- m [prijemce]
- zpráva se odešle na příjemce. Pokud parametr příjemce není uveden, pošta se pošle zpět odesílateli aktivní zprávy. (mail)
- r
- odpovědět odesílateli a dalším příjemcům zprávy
- R
- odpovědět pouze odesílateli
- fwd
- Přepošle aktivní zprávu (zpráva se stane aktivní například jejím vypsáním)
- n
- vyvolá zobrazení další zprávy v poště (next). (Pak stačí mačkat Enter pro další a další zprávu)
- p
- zobrazí se znovu poslední zobrazená zpráva (nebo zprávy zadané číslem …)
- v n
- n-tá zpráva se zobrazí pomocí editoru (vim).
- q
- ukončení práce s mailem (CTRL+d)
- save
- uloží přečtené zprávy do mboxu a odstraní je z mailové schránky
- x
- program zkončí, ale status pošty zůstane nezměněn (vymazané zprávy zůstávají v poště, přečtené zprávy budou znovu nepřečtené …).
- d
- vymaže se právě zobrazená zpráva
- dp
- vymaže se aktuální zpráva, zobrazí se další
- u
- odvolá zrušení zpráv (undo)
- seen n
- n-tá zpráva se označí jako přečtená
Zprávy, které nejsou smazány se ukládají do souboru ~/mbox.
.
Příkazem fi mbox
je
lze snadno přečíst. Dosud nepřečtené zprávy jsou uloženy v adresáři
/var/spool/mail/userid
.
Odeslané zprávy, které se nedoručí skončí v souboru ~/dead.letter
Stejně tak, pokud program nepozná jméno osoby, které se posílá pošta,
nebo pokud se odesílání zprávy přeruší.
Skriptování
Poslat email lze i neinteraktivně (třeba ze skritpu) pomocí programu mail
třeba
takto:
Prosím, zavolejte mi na linku 830509.
Dekuji, Petr
EOF
Konfigurace
Konfigurace se zapisuje do souboru ~/.mailrc
. Příkazy set
si můžete
vyzkoušet i na příkazové řádce mailu. Například set PAGER=w3m
nastaví program na
prohlížení obsahu mailu (pager) na w3m
(w3m
umí zobrazit HTML - mezi
textovým a HTML zobrazením se přepíná pomocí \
).
Příkazem alias
lze vytvořit skupinu emailů, na které se
pak může rozesílat email hromadně.
Příkazem set password-jmeno@server="heslo"
lze nastavit
heslo pro jmeno/server. (Takových nastavení můžete mít v ~/.mailrc
kolik potřebujete.) Například:
Nezapomeňte pak nastavit práva k souboru ~/.mailrc
na 600 (aby si nikdo
další nemohl vaše hesla číst).
Příkaz shortcut
lze použít pro vitvoření aliasu do poštovní schránky.
Prefix %:
způsobí, že se zprávy po přečetení automaticky uloží do souboru
mbox
a z poštovní schránky se smažou (musí být nastaveno set nohold
).
Další možnosti konfigurace
- set from="email"
- Nastaví odesílatele na email
- set smtp-use-starttls
- Zapne SSL/TLS šifrování
- set smtp="example.com"
- Nastaví smtp server pro ochozí poštu
- set smtp-auth-user="username"
- Nastaví uživatelské jméno pro odchozí poštu
- set smtp-auth-password="heslo"
- Nastaví heslo pro odchozí poštu
- set headline="%>%a%m %25f %24d %5l/%7o %i%s"
- Nastavi format hlavicek zprav
Více účtů
Pokud máte více účtů, pak si můžete vytvořit tzv. account
pro každý účet
a pak se k němu připojovat pomocí -A accountname
.
Bohužel mi z nějakého důvodu nefunguje příkaz folder
uvnitř accountu,
takže musím spolu s volbou -A accountname
použít ještě -f folder
.
set password-admin@example.org="heslo"
account accname {
#folder bohuzel nefunguje, ikdyz by mel :(
set folder="%:pop3://admin@pop3.example.org"
set record="~/Mail/EXAMPLE/sent-messages"
set MBOX="~/Mail/EXAMPLE/inbox.mbox"
# nastaveni odesilani posty
set from="admin@example.org"
set smtp-use-starttls
set smtp="smtp.example.org"
set smtp-auth-user="admin@example.org"
set smtp-auth-password="smtpheslo"
}
Poštovní servery (MTA)
V Linuxu existuje několik poštovních serverů. Například exim
,
sendmail
, qmail
nebo postfix
. Nejstarší
z nich je sendmail
. Většinou je na Linuxu předinstalován některý
z novějších MTA (mail transfer agent). (MTA používá i program mail
pro odesílání zpráv.)
Předinstalovaný MTA je nakonfigurovaný na doručování lokální pošty (takže můžete posílat poštu na „login“), ale není připraven na posílání pošty mimo PC. Konfigurace takového MTA není jednoduchá záležitost a pokud vás zajímá, doporučuji si pořídit nějakou dobrou a tlustou knihu …
Dodatek: v OpenSuSE v programu YaST je grafické klikátko pro nastavení MTA, které je poměrně snadno pochopitelné, takže se jej můžete pokusit použít pro nastavení příjmu a odesílání emailů (nevím ale jak tam nastavit stahování pošty od více než jednoho serveru.
Server exim
Konfigurace
/etc/exim/exim.conf
je konfigurační soubor.
Například nastavení local_domains = sally:localhost
způsobí, že je možné na vlastním počítači posílat
poštu uživatelům ve tvaru login@sally
nebo login@localhost
.
Posílání zpráv na terminál
Dříve bylo běžné posílat si zprávy přímo na terminál. To ovšem vyžaduje, abyste byli připojeni na jednom počítači (nebo jendnom terminálovém „uzlu“). To už dnes není moc běžné, takže následující programy berte jako okénko do historie.
Program write
Program vypíše zprávu přihlášenému uživateli přímo na terminál. Dva uživatelé tak mohou vést dialog za dodržení určítých „pravidel slušnosti“:
- když přijmeš zprávu "Message from...", oznam připravenost
k dialogu prikazem
write jmeno
- čekej, dokud nepřijmeš zprávu se znakem "o" na konci. To znamená, že můžeš odpovídat
- když chceš dialog ukončit, ukonči zprávu textem "oo".
SYNOPSIS
write uzivatel [terminal]
Terminál se zjistí například příkazem who
.
CTRL-d
ukončí zadávání zprávy = <EOT> (EOT = End of text).
Zprávu z terminálu smažete pomocí CTRL+l
.
Program mesg
Program povoluje / zakazuje příjem zpráv na terminál.
mesg n
zabrání příjmu zpráv (programemwrite
) - na roota to neplatí :-)mesg y
povolí příjem zpráv na terminálmesg
zjistí, zda je příjem zpráv povolen či ne
Program wall
Posílá zprávu všem uživatelům jako příkaz write
.
Odeslání zprávy pomocí přesměrování výstupu
Zpráva programu write
začíná slovy "Message from userid....".
Pokud chcete poslat čistě jenom nějaký text, lze to udělat přesměrováním
standardního výstupu na terminál (který zjistíte příkazem who
).
Právo takového vstupu k cizímu terminálu má ovšem pouze root (nebo vy ke
svému vlastnímu).