Mail Transfer Agents

Martin Berger, xberger@fi.muni.cz


Obsah


�vod

MTA je program pro p��jem, sm�rov�n� a odes�l�n� zpr�v.

Sm�rov�n�

Zpr�vu v�t�inou nap��eme pomoc� MUA (Mail User Agent). Ten vytvo�� ob�lku a zpr�vu p�ed� MTA, kter� ji ode�le do s�t�. Ka�d� MTA se cestou k adres�tovi ��d� adresou v ob�lce a zpr�vu sm�ruje podle MX z�znam� v DNS datab�zi. Prvn� pokus o doru�en� zpr�vy prov�d� MTA v�t�inou ihned po p�ijet� zpr�vy od MUA, pokud se to nezda�� po vy�erp�n� v�ech mo�nost�, ulo�� zpr�vu do fronty, kde �ek� na dal�� pokus po ur�it� dob� - v�t�inou 15-60 minut�ch, podle nastaven� se po ur�it� dob� p��padn� generuje upozorn�n�, �e zpr�va nebyla doru�ena. Jestli�e zpr�va nebyla doru�ena po dlouhou dobu vygeneruje MTA bounce message, tu za�le odes�lateli a vy�ad� zpr�vu z fronty. Jestli�e je zpr�va �sp�n� odesl�na, zajist� MTA adres�ta ulo�en� zpr�vy do p��slu�n�ho mailboxu.


MTAs

Sendmail

Pru�n� a mocn� n�stroj s bohat�mi mo�nostmi konfigurace. Ta je ulo�ena v souboru sendmail.cf, kter� se v�t�inou needituje p��mo. Ke konfiguraci sendmailu se pou��v� sada maker, kter� se pomoc� m4 expanduj� do v�sledn�ho konfigura�n�ho souboru. Vzhledem k tomu, �e sendmail je monolitick� setuid root program existuje nebezpe�� zneu�it� chyby v n�m.

Qmail

Autorem tohoto modern�ho a rychl�ho SMTP serveru je Dan Bernstein. D�ky sv�mu n�vrhu je Qmail ve srovn�n� se sendmailem rychlej�� a p�edev��m bezpe�n�j��, co� tak� bylo hlavn�m d�vodem jeho vzniku. Na rozd�l od sendmailu nebyla v Qmailu nalezena ��dn� bezpe�nostn� chyba. Qmail tvo�� sada jednotliv�ch program�, z nich� ka�d� prov�d� jen svou p�esn� specifikovanou �innost. Qmail na rozd�l od v�t�iny ostatn�ch MTA ukl�d� ka�dou zpr�vu do jin�ho souboru. V�hodou Qmailu je jednodu��� konfigurace, ne� u sendmailu.

Postfix

Freewarov� projekt, kter� m� snahu nahradit Sendmail. V�konov� je a� t�ikr�t rychlej��, ne� jin� MTA, je kompatibiln� s konfigura�n�mi soubory Sendmailu a podobn� jako Qmail je slo�en z v�ce jednotliv�ch program�, z nich� ��dn� nen� setuid. Pou��v� chrootovan� prost�ed�.


Exim

Idea byla p�evzata z Smailu 3. Je naps�n v ANSI C. Na po��ta�i b�� bu� jako d�mon nebo se spou�t� z inetd.

Doru�ov�n� zpr�v

Po p�ijet� zpr�vy Exim zap��e dva soubory do sv�ho spoolovac�ho adres��e. Jeden obsahuje t�lo zpr�vy, druh� informace z ob�lky, co� jsou adresy odes�latele a adres�t�, d�le hlavi�ky a stav zpr�vy, tedy seznam adres�t�, kte�� u� zpr�vu dostali. Ve�ker� p�episov�n� adres nastaven� v konfiguraci se prov�d� p�i p�ijet� zpr�vy. Jestli�e se generuj� nov� adresy t�eba aliasingem, jsou tyto nov� adresy p�eps�ny v moment�, kdy jsou vygenerov�ny. Ka�d� zpr�v� se p�i�azuje identifika�n� �estn�ctiznakov� message id. To se skl�d� ze t�� ��st� vz�jemn� odd�len�ch poml�kami. Prvn�ch �est znak� ud�v� �as p�ijet� zpr�vy (v sekund�ch), dal��ch �est znak� je id procesu, kter� zpr�vu p�ijal, a posledn� dva znaky slou�� k zaji�t�n� jednozna�nosti. Jm�na soubor� ve spoolovac�m adres��i tvo�� identifikace a p��pona -H, jde-li o soubor s hlavi�kami, p��padn� -D u datov�ho souboru. Nen�-li definov�no jinak, nach�z� se soubory v adres��i input v hlavn�m spoolovac�m adres��i Eximu. Dokud zpr�va nen� doru�ena v�em adres�t�m, na chybovou adresu, nebo dokud nen� smaz�na, a� u� odes�latelem zpr�vy nebo administr�torem, z�st�v� ve spoolovac�m adres��i. Jakmile je zpr�va doru�ena, zap��e se informace o doru�en� do logovac�ho souboru. V p��pad�, �e zpr�vu nelze doru�it adres�t�m ani vr�tit odes�lateli, ozna�� se jako frozen a u� se nezkou�� znovu doru�ovat. Ozna�it zpr�vu jako frozen je tak� v kompetenci administr�tora. Ten tyto zpr�vy m��e rozmrazit, jakmile se odstran� probl�m, kter� zmrazen� zp�sobil. Dal�� mo�nost� je nastavit volbu auto_thaw, pak se Exim automaticky po �ase pokus� zpr�vu znovu doru�it.

Instalace a konfigurace v syst�mu Debian Linux

Instalaci provedeme nap��klad p�ikazem apt-get install exim. Vzhledem k tomu, �e Exim nepou��v� debconf, spou�t� se po instalaci vlastn� konfigura�n� n�stroj - eximconfig. Po v�b�ru jedn� z p�ti p�eddefinovan�ch konfigurac� a odpov�d�ch na n�kolik ot�zek je Exim zkonfigurov�n. V p��pad� pot�eby lze upravit konfigura�n� soubor /etc/exim.conf ru�n�. Implicitn� zp�sob spou�t�n� v Debianu je z inetd. Exim m��e b�et i jako d�mon, sta�� zakomentovat ��dek za��naj�c� smtp v /etc/inetd.conf a spustit d�mona /etc/init.d/exim start.