FreeBSD kézikönyv
Előző | Fejezet 28. Elektronikus levelezés | Következő

# 28.4. A levéltovábbító ügynök megváltoztatása

Írta: Andrew Boothman. Levelei segítségül szolgáltak: Gregory Neil Shapiro.

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.

## 28.4.1. Az új levéltovábbító telepítése

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.

## 28.4.2. A sendmail letiltása

> Figyelem: 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.

## 28.4.3. Az új levéltovábbító elindítása a rendszerrel együtt

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.

## 28.4.4. A sendmail mint a rendszer alapértelmezett levelező eszközének lecserélése

A sendmail annyira elterjedt szabványos szoftver a UNIX® 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

## 28.4.5. A művelet befejezése

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.

Előző | Tartalom | Következő
A sendmail beállítása | Fel | A hibák elhárítása

Ha kérdése van a FreeBSD-vel kapcsolatban, a következő címre írhat (angolul): <freebsd-questions@FreeBSD.org>.
Ha ezzel a dokumentummal kapcsolatban van kérdése, kérjük erre a címre írjon: <gabor@FreeBSD.org>.