Ahogy arról már korábban szó esett, a FreeBSD alapból tartalmazza a sendmail programot mint levéltovábbító ügynököt (MTA, Mail Transfer Agent). Ennélfogva alapértelmezés szerint ez a felelős a kimenő és beérkező levelek kezeléséért.
Számtalan okból eredően egyes rendszergazdák azonban mégis szeretnék lecserélni a rendszerükhöz tartozó levéltovábbítót. Ennek oka lehet egyszerűen csak annyi, hogy ki akarunk próbálni egy másik programot vagy éppen egy olyan eszközre van szükségünk, amely kizárólag csak máshol található meg. Szerencsére a FreeBSD megkönnyíti ezt a váltást.
A levéltovábbítók széles köre elérhető. A FreeBSD Portgyűjteményéből elindulva sok ilyen programot találhatunk. Természetesen teljesen mindegy, hogy melyik levéltovábbítót választjuk egészen addig, amíg képesek vagyunk FreeBSD alatt rendesen futtatni.
Kezdjük tehát az új
levéltovábbító
telepítésével. Miután sikerült
telepíteni, lehetőségünk van
eldönteni, hogy valóban eleget tesz-e az
igényeinknek, sőt az új szoftvert még
az előtt be tudjuk állítani, hogy
átvenné a sendmail
helyét. Vigyázzunk azonban, hogy az új
szoftver telepítésekor ne írjon felül
olyan rendszerszintű binárisokat, mint
például a /usr/bin/sendmail
.
Másrészt az új levelező szoftvert
szolgálatba helyezése előtt
mindenképpen fontos megfelelően
beállítanunk.
A kiválasztott levéltovábbító beállításával kapcsolatban olvassuk el a hozzá tartozó dokumentációt.
Amikor letiltjuk a sendmail kimenő levél szolgáltatását, soha ne felejtsük el pótolni valamilyen más levelező rendszerrel. Ha nem így cselekszünk, akkor például a periodic(8) és a hozzá hasonló programok nem lesznek képesek a tőlük megszokott módon e-mailben elküldeni a futásuk eredményét. A rendszer bizonyos részei ráadásul egy működő, sendmail-kompatibilis rendszert feltételeznek. Ha letiltása után az alkalmazások továbbra is a sendmail segítségével próbálnak levelet küldeni, akkor ez a levél a sendmail inaktív sorába kerülhet, ahonnan soha nem kerül kézbesítésre.
A sendmail teljes
leállításához, beleértve a
kimenő levelekhez tartozó
szolgáltatást is, a következőket kell
megadni az /etc/rc.conf
állományban:
sendmail_enable="NO" sendmail_submit_enable="NO" sendmail_outbound_enable="NO" sendmail_msp_queue_enable="NO"
Ha csak a sendmail
beérkező levelekre vonatkozó
szolgáltatását akarjuk tiltani, akkor
ahhoz az /etc/rc.conf
állományban a következőt
állítsuk be:
sendmail_enable="NO"
A sendmail indításával kapcsolatos további beállításokat az rc.sendmail(8) man oldalon találjuk.
Az új levéltovábbítót
úgy tudjuk elindítani a rendszerrel együtt,
ha az /etc/rc.conf
állományba felvesszük a következő
sort, például a
postfix esetében:
#
echo 'postfix
_enable="YES"' >> /etc/rc.conf
Az új levéltovábbító így most már magától el fog indulni a rendszer indításakor.
A sendmail annyira elterjedt szabványos szoftver a UNIX(R) rendszereken, hogy egyes szoftverek egyszerűen feltételezik a jelenlétét. Emiatt sok levéltovábbítóhoz tartozik egy sendmail kompatibilis parancssoros felület is, amellyel igyekeznek megkönnyíteni a sendmail "gyors" lecserélését.
Ennek következtében tehát, ha egy
másik levelező eszközt használunk, akkor
valamilyen módon meg kell bizonyosodnunk róla,
hogy a szabványos sendmail
binárisok, mint például a
/usr/bin/sendmail
, valóban a
kiválasztott levéltovábbítot
fogják aktiválni. Szerencsére a FreeBSD
pontosan emiatt tartalmaz egy mailwrapper(8) nevű
rendszert.
Amikor a sendmail
telepítése szerint működik, valami
hasonlót fogunk találni az
/etc/mail/mailer.conf
állományban:
sendmail /usr/libexec/sendmail/sendmail send-mail /usr/libexec/sendmail/sendmail mailq /usr/libexec/sendmail/sendmail newaliases /usr/libexec/sendmail/sendmail hoststat /usr/libexec/sendmail/sendmail purgestat /usr/libexec/sendmail/sendmail
Ez azt jelenti, hogy amikor az itt felsorolt
általános parancsok közül lefuttatjuk
valamelyiket (például magát a
sendmail
parancsot), akkor a rendszer
magától meghívja a
sendmail
néven szereplő wrapper
programot, amely pedig a mailer.conf
alapján kideríti, hogy az adott esetben a
/usr/libexec/sendmail/sendmail
hívására van szükség. Ez a
rendszer megkönnyíti az alapértelmezett
sendmail
funkciók helyében
lefuttatandó binárisok
átállítását.
Így tehát, ha a
/usr/local/supermailer/bin/sendmail-compat
állományt akarjuk futtatni a megszokott
sendmail helyében, akkor az
/etc/mail/mailer.conf
állományt a következőképpen kell
módosítanunk:
sendmail /usr/local/kedvenclevelező
/bin/sendmail-compat send-mail /usr/local/kedvenclevelező
/bin/sendmail-compat mailq /usr/local/kedvenclevelező
/bin/mailq-compat newaliases /usr/local/kedvenclevelező
/bin/newaliases-compat hoststat /usr/local/kedvenclevelező
/bin/hoststat-compat purgestat /usr/local/kedvenclevelező
/bin/purgestat-compat
Ahogy a céljainknak megfelelően mindent beállítottunk, akkor vagy egyszerűen leállítjuk a sendmail neve alatt futó programokat és helyettük elindítjuk az új szoftverhez tartozókat, vagy csak újraindítjuk a gépet. Az újraindítással mellesleg ellenőrizhetjük azt is, hogy jól állítottuk be a rendszerünket és az új levélküldő tényleg elindul a rendszerünkkel együtt.
Ha kérdése van a FreeBSD-vel kapcsolatban, a
következő címre írhat (angolul):
<questions@FreeBSD.org>.
Ha ezzel a dokumentummal kapcsolatban van kérdése, kérjük erre a címre írjon:
<gabor@FreeBSD.org>.