Elektronická pošta

Mezi nejpopulárnější vlastnosti operačního systému Unix patří možnost
odesílat a přijímat zprávy elektronické pošty. Máte-li k dispozici
elektronickou poštu, nepotřebujete papír, inkoust a pero, obálky, známky a
nesrovnatelně pomalejší poštovní službu.

Základním předpokladem, ze kterého vychází koncepce elektronické pošty, je
skutečnost, že každý uživatel má někde na počítači připojeném v síti
vytvořen účet, jehož součástí je i poštovní schránka (mailbox). Pod slovem
poštovní schránka si v tomto případě nelze představit klasickou krabici na
dopisy, ale spíše datový soubor, kam mu operační systém doručuje přijaté
maily a do kterého má uživatel přístup pomocí svého poštovního klienta
(/var/spool/mail). Pokud chceme v takovémto prostředí poslat někomu zprávu,
stane se to tak, že se váš počítač spojí s počítačem adresáta a uloží do
jeho mailboxu dotyčnou zprávu.

Na počátku celého řetězce stojí program, který se jmenuje MUA, tedy Mail
User Agent. Programů tohoto druhu existují desítky - od nejjednoduššího
řádkového BSD mailu, přes vyspělé znakové klienty typu Mutta nebo Pine až po
grafické programy, jako je třeba Thunderbird nebo Microsoft Outlook. 
(Webmail: https://cgi.math.muni.cz/squirrelmail/src/login.php).


Hlavním úkolem MUA je převzít od odesilatele zprávy text a adresáta, přidat
základní hlavičku a celé odevzdat k doručení dalšímu programu, kterým je
MTA (Mail Transfer Agent). Určitě nejrozšířenějším MTA je Sendmail. 

Poté, co MTA převezme od MUA zprávu, doplní její hlavičku o další údaje.
Potom se zaměří na doménovou část adresy příjemce (napravo od zavináče) a
pomocí DNS zjistí, který počítač je zodpovědný za přijímání pošty pro danou
doménu (mailserver). Jakmile se tak stane, otevře s tímto počítačem spojení
a prostřednictvím protokolu SMTP mu zprávu přenese. Každá doména může mít
určeno hned několik počítačů přijímajících poštovní zprávy.  Pokud se
nepodaří spojení s žádným autoritativním počítačem, může být odeslání zprávy
odloženo a později stornováno s vygenerováním chybové zprávy odesílateli
nebo správci poštovního serveru.

Přijímající MTA zkontroluje jmennou část adresy (nalevo od zavináče) a
doručí zprávu do schránky s tímto jménem. Tradičním místem pro ukládání
mailboxů bývá adresář /var/spool/mail.

Jen co dojde k doručení zprávy do mailboxu, může si ji adresát přečíst. Buď
k tomu použije MUA, který běží přímo na serveru (pokud na něm má účet), nebo
si ji stáhne na svůj osobní počítač. K tomu jsou navrženy například
protokoly POP nebo novější IMAP. Protokol POP3 je vlastně jednosměrným
komunikačním kanálem, kterým jsou k uživateli, po předchozí autentizaci,
dopraveny všechny zprávy nacházející se v jeho mailboxu.

IMAP - Protokol pro přístup k poštovním schránkám na vzdáleném serveru.
Umožňuje úplnou správu schránek včetně jejich vytváření apod. Ne všechny
servery podporují tento protokol.
POP - Jiný protokol pro čtení pošty. Na rozdíl od IMAPu umožňuje pouze
čtení doručené pošty a mazání dopisů ale ne práci s více schránkami. Může
být ale rychlejší než IMAP.
IMAPS, POPS - Totéž co IMAP nebo POP ale komunikace je šifrovaná pomocí
SSL protokolu.

SSL Protokol navrhovaný firmou Netscape Communications pro umožnění zašifrované,
bezpečné a autentizované komunikace přes Internet. 

Shrnutí:
TCP/IP e-mail lze rozdělit do dvou základních částí:

program typu mail - uživatelské rozhraní, slouží pro příjem a odesílání e-dopisů
(poštovní uživatelský agent, 
MUA - Mail User Agent)                    

program typu mailer - zabezpečuje dopravu e-dopisů do
                      elektronických stránek příjemců
(poštovní dopravní agent, MTA - Mail Transfer Agent)

Programy typu mailer se spolu dorozumívají na základě protokolu SMTP
(Simple Mail Transfer Protocol).
Pokud používáte e-mail na počítači, který je k Internetu připojen jen občas,
pak spojení s vaší poštovní schránkou se odehrává podle protokolu POP
(Post Office Protocol).


e-dopis
Skládá se ze dvou částí: hlavička 
(adresa příjemce a odesílatele, den, hodina a dokonce i minuta odeslání,
stručná charakteristika) a tělo dopisu.
Normálně je text limitován a 7 bitovou ASCII abecedu a pokud
chceme e-mailem poslat binární data, musíme je zakódovat (uuencode,
uudecode).

Omezení na textovou formu těla dopisu odstraňuje MIME
(Multipurpose Internet Mail Extensions). MIME je norma, která předepisuje
způsob kódování znaků z různých jazyků a způsob posílání různých typů
informací. Jsou li patřičně vybaveny a nastaveny programy MUA u odesílatele
i u příjemce, lze takto posílat texty v češtině a jako přílohy třeba i
obrázky.

e-adresa
Internetovská adresa uživatele USERNAME na počítači HOST.DOMAIN
se vyjadřuje jako řetězec USERNAME@HOST.DOMAIN

Pr: plch@math.muni.cz

(Velká a malá písmena se v e-adrese obecně nerozlišují, u jména uživatele
to však vždy neplatí!)

Znak % v adrese.
Někdy (spíše vyjímečně) je nutno předepsat, kudy se má dopis dopravovat.
Pak lze použít adresu ve tvaru

username%kam.to.posilam@kudy.ma.jit

e-dopis putuje nejdříve na adresu kudy.ma.jit, tam se přepíše
do tvaru username@kam.to.posilam a na tuto adresu se odešle.

Základní pravidla pro užívání elektronické pošty:
- řádky dopisu by neměly přesahovat 65 znaků
- celý dopis by neměl být delší než 64kB
- stručný, jasný, řádek SUBJECT v hlavičce by měl obsahovat
  krátkou charakteristiku obsahu dopisu
- dopis by měl začínat oslovením a končit podpisem
- vyhýbat se emocionálním, urážlivým a ironickým textům. Pokud se
  je třeba se emotivně projevit, používají se některé symboly:

  :-,  hmm
  :-)  radostný úsměv
  :-(  hněvivý úsměv
  :-c  jsem nešťastný
  :-x  polibek
  :-X  velká štípaná pusa
  :-0  údiv
  ;-)  mrknutí

atd.

Nedoručitelné dopisy

Nelze-li dopis doručit, program mailer o tom pošle zprávu.
Nejčastější příčinou je překlep v adrese:
user unknown (uživatel není znám)

-----------------------------------------------------------------------
From MAILER-DAEMON  Wed Mar  2 11:20:52 2005
From: Mail Delivery Subsystem 
Subject: Returned mail: see transcript for details
Date: Wed, 2 Mar 2005 11:20:52 +0100
To: 

[-- Attachment #1 --]
[-- Type: text/plain, Encoding: 7bit, Size: 0.5K --]

The original message was received at Wed, 2 Mar 2005 11:20:50 +0100
from queen.math.muni.cz [147.251.80.1]

   ----- The following addresses had permanent fatal errors -----

    (reason: 550 : User unknown in local recipient table)

   ----- Transcript of session follows -----
... while talking to inserv.math.muni.cz.:
>>> DATA
<<< 550 : User unknown in local recipient table
550 5.1.1 ... User unknown
<<< 554 Error: no valid recipients
------------------------------------------------------------------------

host unknown (počítač není znám)

------------------------------------------------------------------------
From MAILER-DAEMON  Wed Mar  2 11:21:27 2005
From: Mail Delivery Subsystem 
Subject: Returned mail: see transcript for details
Date: Wed, 2 Mar 2005 11:21:26 +0100
To: 

[-- Attachment #1 --]
[-- Type: text/plain, Encoding: 7bit, Size: 0.4K --]

The original message was received at Wed, 2 Mar 2005 11:21:26 +0100
from queen.math.muni.cz [147.251.80.1]

   ----- The following addresses had permanent fatal errors -----

    (reason: 550 Host unknown)

   ----- Transcript of session follows -----
550 5.1.2 ... Host unknown (Name server: mat.muni.cz.:
host not found)
------------------------------------------------------------------------

Nedaří-li se navázat spojení, program mailer se opakovaně pokouší dopis
dopravit. Pokusy o doručení několik dní pokračují a pak se teprve dopis
vrací jako nedoručitelný (undeliverable).

				MUTT
Nejpoužívanější (a tedy i nejpodporovanější) je program mutt. Po spuštění
zobrazí seznam došlých zpráv, uvádějící
odesílatele, datum, předmět zprávy (Subject) a pár dalších údajů, (dole)
stavovou lištu a (nahoře) lištu s nejpoužívanějšími
příkazy. Zde zmíníme alespoň Enter pro čtení pošty, m pro odeslání nové
pošty, odpověď na došlou poštu reply, odpověd na
došlou poštu pro všechny adresáty group reply, uložení dopisu do souboru
save a pak quit. 

Při odesílání pošty je nutné uvést adresáta do položky To, jednořádkové
shrnutí obsahu dopisu Subject, případně komu
chcete poslat kopii tohoto dopisu Cc. Obzvláště položka Subject je
nesmírně důležitá, a to nejen při psaní správcům systému,
na studijní oddělení či do konferencí, tedy na adresy zahrnující množství
lidí (i když tito adresáti vám chybějící nebo špatný
Subject nejčastěji vyčtou). Je dobré si uvědomit, že jsou lidé, kteří
denně dostávají stovky dopisů, a mnohdy se orientují jen
podle Subjectu. 
Defaultním editorem
(nejen) v muttu je vi, nastavení si můžete
změnit v souboru .muttrc (více viz http://www.mutt.org/). Dalšími programy
obecně používaný editor pak určuje proměnná
prostředí $EDITOR. 

			Ovládání programu

Práce s foldery

 c
       změna folderu (! je základní mailbox) 
 C
       kopie mailu do mailboxu či souboru
 D
       smazání mailů podle určitého vzoru
 d
       smazání aktuálního záznamu
 O
       seřadí maily v obráceném pořadí
 o
       setřídit maily podle daného kritéria
 q
       uloží změny do mailboxu a ukončí Mutt
 s
       uloží mail či přílohu (attachment) do souboru 
 t
       označení mailu
 u
       odsmazání aktuální položky (mailu)
 v
       zobrazení příloh (attachments)
 x
       ukončení bez uložení změn
 ENTER
       zobrazí mail
 TAB
       skočí na další mail
 @
       zobrazí plnou adresu odesilatele
 $
       uložení změn do mailboxu
 /
       hledání regulárního výrazu
 ESC /
       hledání regulárního výrazu zpět
 Ctrl-L
       překreslí obrazovku
 Ctrl-T
       označkování mailů podle nějakého vzoru 
 Ctrl-U
       odsmaže všechny maily podle vzoru

Posílání mailů

m
   vytvořit nový mail
r
   odpověď na mail
f
   forward (poslání někam dál) s poznámkami

Nabídka při posílání mailů

 a
   přidat soubor k mailu
 d
   editace popisu souboru
 D
   odloučit soubor
 T
   editace pole To:
 c
   editace pole Cc:
 b
   editace Bcc:
 f
   editace Fcc:
 y
   poslat mail
 s
   editace pole Subject:
 P
   ponechat mesáž rozepsanou (postpone)
 p
   u některých verzí nastavení PGP 
 q
   zrušení poslání mailu

Značky u mailů

 D
   smazaný mail
 K
   mail obsahuje PGP veřejný klíč
 M
   vyžaduje mailcap k prohlédnutí
 N
   nový mail
 O
   starý mail
 P
   mail zakódovaný PGP
 r
   na mail už se odpovídalo
 S
   mail je PGP podepsán
 !
   mail s "vlaječkou"
 *
   označený mail
 +
   mail pouze pro vás
 T
   mail pro vás, ale i někoho jiného
 C
   mail také pro vás (carbon copy)
 F
   mail od vás

			Ostatní

 a
         vytvoří alias z odesilatele mailu
 h
         zobrazí mail s plnou hlavičkou
 :
         zadání příkazu ze souboru .muttrc 
 !
         vyvolá příkaz shellu
 T
         označit maily podle určitého vzoru
 Ctrl-B
         spuštění WWW prohlížeče na adresy v mailu
 ESC TAB
         skočí na předchozí nový mail
 SPC
         zobrazí mail
 %
         přepínač, který umožňuje zamezit (obnovit) možnost změn v mailboxu
	 (bývá vypnutý a vidět to je v levém dolním rohu)
 *
         posunutí na poslední mail
 1-9
         skok na ukazatele s čísly 1-9 (např. pokud napíšete číslo 21 a máte
         v mailboxu tolik mailů, tak na tento
         mail skočí kurzor, i když je třeba mail označen jako určený ke
         smazání)
 ?
         help
 J
         přesun na další položku
 K
         přesun na předchozí položku
 R
         vyvolání odložené (postponed) maile
 U
         odsmazání mailů podle vzoru
 V
         zobrazí verzi Muttu a datum
 W
         smaže "vlaječku stavu" z mailu
 n
         hledání následujícího co splňuje vzor
 w
         nastavení "vlaječky" u mailu


            Konfigurace muttu

- soubor ~/.muttrc


            Nastavení uschovávání odesílaných dopisů

set force_name                 # fcc by recipient, create if mailbox doesn't exist

                  Automatické připojení podpisu

V domovském adresáři vytvoříme soubor .signature (s podpisem),
nastavíme přístupová práva,
do souboru .muttrc připojíme řádek

unset sig_dashes
set signature="~/.signature"

Přeposílání pošty z jiných počítačů:

Do domovského adresáře na odpovídajícím počítači dám soubor .forward,
nastavíme přístupová práva. Do něho uvedeme novou adresu.

nova_adresa, \login

	Potvrzování doručení mailu (DSN, Delivery status notification)
set dsn_notify="failure,delay,success" # failure = chyba
                                        # delay = prodlení
                                        # success = úspěšné doručení
set dsn_return="hdrs"


			Konfigurace češtiny

set charset="iso-8859-2"
set allow_8bit

                   Posílání binárních souborů

Pokud váš poštovní program odpovídá standardu MIME, můžete binární soubory
posílat jako přílohu (attachment).


Jinak je nutno binární soubor před odesláním zakódovat do ASCII souboru
programem uuencode. Příjemce zakódovaného souboru ho pak
programem uudecode odkóduje.
Syntaxe:

uuencode soubor label > soubor.uue
uudecode soubor.uue

kde soubor je soubor, který chceme zakódovat, label je jméno
souboru po odkódování, soubor.uue je jméno souboru po zakódování.

Překódovaný text je uzavřen mezi řádky začínajícími klíčovými slovy begin a
end. Řádky kódu mají mimo posledních konstantní délku a jsou uvozeny znakem
M. Všimněnme si ještě koncového údaje v řádce uvozené klíčovým slovem begin.
Obsahuje řetězec sip.txt, což je identifikace vstupního souboru, který byl
programem uuencode transformován. Tato identifikace bude rovněž použita jako
jméno výstupního souboru při spuštění programu uudecode, který bude
transformovaný text zpětně převádět na původní tvar.

Soubor je často vhodné před zakódováním komprimovat.

Balení a rozbalování pod Linuxem

Komprimačních programů máme pro Linux spoustu. Ale mezi ty nejběžnější a
nejpoužívanější patří bezesporu
programy tar, gzip a compress.

tar

tar v podstatě ani nekomprimuje, jen soubory "sepíše" do jednoho spolu s
nějakými jinými informacemi. A právě tohle
spojení do jednoho souboru je jeho největší výhoda a kvůli tomu se vlastně
používá.
Zažitá přípona tar archivu je .tar. 


Balení (komprimace): 

tar cf jmeno_tar_souboru maska

parametry: 

c (--create) - vytvoření archivu
f (--file) - říká, že tar má zapisovat do souboru. tar je primárně určen pro
archivaci na magnetickou pásku, proto je
tento parametr velmi důležitý
maska - jméno souboru nebo jména více souborů oddělená mezerou nebo
souborová maska (př. * = všechny
soubory v adresáři) nebo adresář nebo více adresářů oddělených mezerou (tar
automaticky balí adresáře rekurzivně) 

Rozbalování (dekomprimace): 

tar xf jmeno_tar_souboru

parametry: 

x (--extract) - vybalení souborů z archivu 

Další parametry: 

- - za vstup/výstup se považuje standardní vstup/výstup
t (--list) - vypíše obsah archivu
u (--update) - přidá do archivu jen soubory novější než ty v archivu
r (--append) - přidá soubor na konec archivu
O (--to-stdout) - rozbaluje na standardní výstup
v (--verbose) - "ukecanost" (otázky, potvrzování, apod.)
z (--gzip, --ungzip) - prožene archiv ještě gzipem

nebo
gzip soubor -> soubor.gz
gunzip soubor.gz -> soubor
gzip -d soubor.gz

Syntaxe:

compress soubor   ->  soubor.Z
compress -d soubor.Z   -> soubor

nebo 

zip archiv soubor -> archiv.zip
unzip archiv -> soubor

Nastavení klienta Thunderbird (http://www.czilla.cz/download/thunderbird.html) pro stanice ws:

nastaveni IMAP serveru

nastaveni SMTP serveru

Vzdálený přístup k poště

Poštu je možné stahovat pomocí protokolu POP3, POP3s, IMAP nebo IMAPs ze
serveru bart.math.muni.cz, pro odesílání pošty je třeba použít SMTP server
svého poskytovatele.