Jul 17, 2015

Kako Postfix isporučuje poštu

Jednom kad poruka dođe do incoming reda sledeći korak jeste da se isporuči.

Manager reda (qmgr server) je srce Postfix isporuke pošte. On kontaktira smtp, lmtp, local, virtual, pipe, discard ili error agente isporuke i šalje zahtev za isporuku za jednu ili više adresa primaoca. discard i error su posebni agenti isporuke. oni mogu odbaciti ili odbiti svu poštu i nisu prikazani na slici.

Manager reda ima mali active red koji obaveštava da je otvoren za isporuku. active red ograničava potencijalno veliki dolazni red. active red sprečava da manager reda radi pod velikim opterećenjem.

Manager reda održava poseban deferred red za mejlove koji su odloženi jer ne mogu da se isporuče, tako da veliki broj zaostale pošte ne uspori pristup normalnom redu.

trivial-rewrite server rešava svaku adresu primaoca u skladu sa lokalnim ili udaljenim adresnim klasama. Dodatne informacije o rutiranju se mogu specificirati transport tabelama. trivial-rewrite server pita relocated tabelu za primaoce čija adresa je promenjena. Mejl za tavke primaoce se vraća pošiljaocu sa obrazloženjem.

smtp klijent traži listu mejl servera za destinaciju, sortira spisak po želji, proziva svaki server dok ne pronađe server koji odgovara. Onda enkapsulira sadršaj, primaoca i pošiljaoca sa SMTP protokolom.

lmtp klijent koristi protokol sličan SMTP koji je optimizovan da isporučuje mejlove serverima kao što su Cyrus.

local agent isporuke razume strukturu mailboxa na UNIX-u. qmail kompatibilan. Moguć je paralelan rad višestrukih local agenata isporuke, ali parelelna dostava za istog korisnika je obično ogrničena.
local agen isporuke ima alternativne načine isporuke: može se konfigurisati da isporuči mailbox fajlove u home direktorijum korisnika, može se konfigurisati da delegira isporuku pošte ka spoljnim komandama kao što je procmail ili se može delegirati dostava drugim postfix agentima za dostavu.

virtual agent isporuke je skroman agent koji isporučuje u UNIX stilu ili qmail stilu. Ovaj agent može isporučiti poštu za više domena, što ga čini pogodnim za hosting puno malih domena na jednom računaru.

pipe je odlazni interfejs ka drugim sistemima za obradu mejlova. Interfejs je kompatibilan sa unixom. Pruža informacija na komandnoj liniji i na standardnom ulazu.



Kako Postfix prima mejlove

Kada poruka uđe u mail sistem, prva stanica je incoming queue. Mejlovi sa mreže ulaze u Postfix preko smtpd ili qmqpd servera. Ovi serveri uklanjaju SMTP ili QMQP enkapsulaciju protokola, sprovodi osnovnu proveru da zaštiti Postfix i predaje pošiljaoca, primaoce i sadržaj mejla cleanup serveru. smtpd server  može da se podesi da blokira neželjenu poštu.

Lokalni podnesci su primljeni prko Postfix sendmail kompatibilne komande i prosleđeni su u redu maildrop queue od strane privilegovane postdrop-a komande. Ovaj postupak funkcioniše  i dok Postfix nije pokrenut. Lokalni pickup server skuplja lokalne podneske, sprovodi osnovne provere i prosleđuje pošiljaoca, primaoca i sadržaj poruke cleanup serveru.

Mejlovi iz internih izvora se direktno prosleđuju cleanup serveru. Ovo uključuje mejlove koji se prosleđuju od local delivery agenta, mejlovi koji se vraćaju pošiljaocu od strane bounce servera i postmaster obaveštenja vezana za probleme sa Postfixom.

cleanup server sprovodi završnu fazu provere pre nego što mejl bude u redu za čekanje. On dodaje nedostajuće From i druge elemente zaglavlja i transformiše adrese. Opciono, cleanup server može da se konfiguriše da radi provere sadržaja. cleanup server stavlja rezultat kao jedan fajl u redu incoming queue i obaveštava menađžera o dolasku novog mejla.

trivial-rewrite server prepravlja adrese u standardnom formatu user@full.qualified.domain.