doc/hu_HU.ISO8859-2/books/handbook/mail/chapter.xml
2013-11-07 15:39:28 +00:00

2915 lines
97 KiB
XML

<?xml version="1.0" encoding="iso-8859-2"?>
<!--
The FreeBSD Documentation Project
$FreeBSD$
-->
<!-- The FreeBSD Hungarian Documentation Project
Translated by: PALI, Gabor <pgj@FreeBSD.org>
%SOURCE% en_US.ISO8859-1/books/handbook/mail/chapter.xml
%SRCID% 1.138
-->
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="mail" xml:lang="hu">
<info><title>Elektronikus levelezés</title>
<authorgroup>
<author><personname><firstname>Bill</firstname><surname>Lloyd</surname></personname><contrib>Eredetileg készítette: </contrib></author>
</authorgroup>
<authorgroup>
<author><personname><firstname>Jim</firstname><surname>Mock</surname></personname><contrib>Átdolgozta: </contrib></author>
</authorgroup>
</info>
<sect1 xml:id="mail-synopsis">
<title>Áttekintés</title>
<indexterm><primary>e-mail</primary></indexterm>
<para>Az <quote>elektronikus levelezés</quote>, más
néven e-mail, a kommunikáció egyik legjobban
elterjedt formája. Ebben a fejezetben bemutatjuk, hogyan
futtassunk &os;-n levelező szervert, illetve hogyan
küldjünk és fogadjunk e-maileket a &os;
használatával. Ez azonban semmiképpen sem
tekinthető egy teljes referenciának és
tulajdonképpen számos fontos
tényezőről szót sem ejtünk. A
témára úgy kaphatunk egy sokkal
átfogóbb rálátást, ha a <xref linkend="bibliography"/>ben felsorolt remek könyveket is
elolvassuk.</para>
<para>A fejezet elolvasása során
megismerjük:</para>
<itemizedlist>
<listitem>
<para>milyen szoftverkomponensek játszanak szerepet az
elektronikus levelek küldésében és
fogadásában;</para>
</listitem>
<listitem>
<para>&os;-ben hol találhatóak a
<application>sendmail</application>
konfigurációs állományai;</para>
</listitem>
<listitem>
<para>mi a különbség a helyi és
távoli postaládák
között;</para>
</listitem>
<listitem>
<para>hogyan akadályozzuk meg, hogy a levelező
szerverünk a kéretlen levélszemetet
továbbítson;</para>
</listitem>
<listitem>
<para>rendszerünkön hogyan telepítsünk
és állítsunk be más levelező
szervereket a <application>sendmail</application>
helyett;</para>
</listitem>
<listitem>
<para>hogyan oldjuk meg a levelező szerverekkel
kapcsolatban felmerülő általános
problémákat;</para>
</listitem>
<listitem>
<para>hogyan használjuk az SMTP protokollt az UUCP
protokollal;</para>
</listitem>
<listitem>
<para>hogyan kell rendszerüket csak
levélküldésre
beállítani;</para>
</listitem>
<listitem>
<para>hogyan levelezzünk betárcsázós
kapcsolattal;</para>
</listitem>
<listitem>
<para>hogyan növeljük rendszerünk
védelmét az SMTP
hitelesítésének
engedélyezésével;</para>
</listitem>
<listitem>
<para>hogyan telepítsünk és
használjunk a levelek küldésére
és fogadására például a
<application>mutt</application>hoz hasonló
levelező klienseket;</para>
</listitem>
<listitem>
<para>hogyan töltsük le leveleinket egy távoli
<acronym>POP</acronym> vagy <acronym>IMAP</acronym>
szerverről;</para>
</listitem>
<listitem>
<para>hogyan alkalmazzunk automatikusan adott szabályokat
vagy szűrőket az érkező
levelekre.</para>
</listitem>
</itemizedlist>
<para>A fejezet elolvasása előtt ajánlott:</para>
<itemizedlist>
<listitem>
<para>az internet-csatlakozásunk megfelelő
beállítása (<xref linkend="advanced-networking"/>);</para>
</listitem>
<listitem>
<para>a névfeloldás
beállítása (<xref linkend="network-servers"/>);</para>
</listitem>
<listitem>
<para>a külső fejlesztésű
alkalmazások telepítésének
ismerete (<xref linkend="ports"/>).</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 xml:id="mail-using">
<title>Az elektronikus levelezés használata</title>
<indexterm><primary>POP</primary></indexterm>
<indexterm><primary>IMAP</primary></indexterm>
<indexterm><primary>DNS</primary></indexterm>
<para>Öt fontosabb részre bonthatjuk a
levelezést. Ezek: <link linkend="mail-mua">a
felhasználói program (mail user agent)</link>, <link linkend="mail-mta">a levélküldő démon
(mail transfer agent)</link>, <link linkend="mail-dns">a
névfeloldás</link>, <link linkend="mail-receive">a
helyi vagy távoli postaláda</link> és
természetesen <link linkend="mail-host">maga a
levelező szerver (mail host)</link>.</para>
<sect2 xml:id="mail-mua">
<title>A felhasználói program</title>
<para>Ide soroljuk a különböző parancssoros
programokat, mint például a
<application>mutt</application>,
<application>pine</application>, <application>elm</application>
és <command>mail</command>, valamint a
különféle grafikus alkalmazásokat, mint
például a <application>balsa</application>
és az <application>xfmail</application>, csak hogy
felsoroljuk néhány újabb, egy
webböngészőhöz hasonlóan
<quote>kifinomult</quote> eszközt is. Ezek a programok
egyszerűen átküldik az elektronikus levelekkel
kapcsolatos tranzakciókat a helyi <link linkend="mail-host"><quote>levelező
szervernek</quote></link> vagy meghívják
valamelyik <link linkend="mail-mta">levélküldő
démont</link>, esetleg közvetlenül a
<acronym>TCP</acronym> protokollon keresztül
kézbesítenek.</para>
</sect2>
<sect2 xml:id="mail-mta">
<title>A levélküldő démon</title>
<indexterm>
<primary>levélküldő démon</primary>
<secondary><application>sendmail</application></secondary>
</indexterm>
<indexterm>
<primary>levélküldő démon</primary>
<secondary><application>postfix</application></secondary>
</indexterm>
<indexterm>
<primary>levélküldő démon</primary>
<secondary><application>qmail</application></secondary>
</indexterm>
<indexterm>
<primary>levélküldő démon</primary>
<secondary><application>exim</application></secondary>
</indexterm>
<para>A &os; alapból a <application>sendmail</application>
nevű programot ajánlja fel erre a célra, de
támogat más levelező szervereket is, ezek
közül meg is említünk
néhányat
ízelítőként:</para>
<itemizedlist>
<listitem>
<para><application>exim</application></para>
</listitem>
<listitem>
<para><application>postfix</application></para>
</listitem>
<listitem>
<para><application>qmail</application></para>
</listitem>
</itemizedlist>
<para>Ez a démon általában két
feladatot lát el &mdash; a beérkező levelek
fogadásáért és a kimenő levelek
elküldéséért felelős.
<emphasis>Nem</emphasis> tartozik azonban a feladatai
közé, hogy a <acronym>POP</acronym> vagy
<acronym>IMAP</acronym> protokollokhoz hasonlóan
olvashatóvá tegye a leveleinket, illetve
csatlakozni engedjen a helyi <filename>mbox</filename> vagy
Maildir formátumú postaládáinkhoz.
Ezekhez a műveletekhez egy külön <link linkend="mail-receive">démon</link>
szükségeltetik.</para>
<warning>
<para>A <application>sendmail</application> régebbi
változatai tartalmaznak olyan komoly biztonsági
hibákat, amelyek kihasználásával
az illetéktelen behatolók helyi és/vagy
távoli hozzáférést tudnak szerezni
a gépünkön. Az ilyen jellegű
problémák elkerülése
érdekében igyekezzünk mindig a legfrissebb
verzióját használni. Vagy a <link linkend="ports">&os;
Portgyűjteményéből</link>
telepítsünk fel egy másik
levélküldő démont.</para>
</warning>
</sect2>
<sect2 xml:id="mail-dns">
<title>Az elektronikus levelek és a
névfeloldás</title>
<para>A névfeloldás (Domain Name System, DNS)
és a hozzá tartozó <command>named</command>
démon nagy szerepet játszik az elektronikus
levelek továbbításában. A
démon a leveleket úgy küldi át az
egyik gépről a másikra, hogy a
névfeloldáson keresztül megkeresi azt a
távoli gépet, amelynek a leveleket
címezték. Ez a folyamat szintén
végbemegy, amikor egy távoli gépről
levelet küldenek a mi szerverünkre.</para>
<indexterm><primary>MX rekord</primary></indexterm>
<para>A <acronym>DNS</acronym> valósítja meg a
hálózati nevek és az IP-címek
összerendelését valamint ez tárolja el
a levélküldésre vonatkozó
információkat is, amelyeket MX rekordoknak
hívnak. Az MX (Mail eXchanger,
<quote>levélváltó</quote>) rekord adja meg
azt a gépet vagy azokat a gépeket, amelyek az
adott névtartományban fogadják a leveleket.
Ha a hálózati nevünkhöz vagy
tartományunkhoz nem tartozik MX rekord, akkor a
levél közvetlenül a gépünkre
vándorol feltéve, hogy rendelkezik olyan A
rekorddal, amely összerendeli a gépünk
nevét az IP-címével.</para>
<para>A &man.host.1; parancs használatával az
alábbi példához hasonlóan
tetszőleges tartomány MX rekordját meg tudjuk
nézni:</para>
<screen>&prompt.user; <userinput>host -t mx
FreeBSD.org</userinput> FreeBSD.org mail is handled (pri=10) by
mx1.FreeBSD.org</screen>
</sect2>
<sect2 xml:id="mail-receive">
<title>Az elektronikus levelek fogadása</title>
<indexterm>
<primary>elektronikus levél</primary>
<secondary>fogadása</secondary>
</indexterm>
<para>A tartományunkhoz tartozó leveleket
fogadását a levelező szerver végzi.
Összegyűjti a tartományunkba küldött
összes levelet és ezeket a
beállításainktól függően
vagy <filename>mbox</filename> (a levelek
tárolásának alapértelmezett
módja) vagy pedig Maildir formátumban
eltárolja. Ahogy eltárolt egy levelet, úgy
helyben egyből el is tudjuk olvasni például a
&man.mail.1; vagy a <application>mutt</application>
használatával, illetve távolról a
<acronym>POP</acronym> vagy <acronym>IMAP</acronym> és a
hasonló protokollokkal tudjuk elérni és
begyűjteni. Ezért tehát ha csak a helyi
gépen kívánjuk olvasni a leveleinket, akkor
ahhoz egyáltalán nem kell <acronym>POP</acronym>
vagy <acronym>IMAP</acronym> szervert
telepítenünk.</para>
<sect3 xml:id="pop-and-imap">
<title>Távoli postaládák
elérése a <acronym>POP</acronym> és
<acronym>IMAP</acronym> használatával</title>
<indexterm><primary>POP</primary></indexterm>
<indexterm><primary>IMAP</primary></indexterm>
<para>A távoli postaládák
eléréséhez tudnunk kell csatlakozni egy
<acronym>POP</acronym> vagy <acronym>IMAP</acronym>
szerverhez. Ezeken a protokollokon keresztül
tudják a felhasználók minden
különösebb nehézség
nélkül elérni távolról a
helyi postaládáikat. Noha a
<acronym>POP</acronym> és az <acronym>IMAP</acronym>
segítségével egyaránt el tudjuk
így érni a postaládákat, az
<acronym>IMAP</acronym> használatának
mégis több előnye van, íme
néhány közülük:</para>
<itemizedlist>
<listitem>
<para>Az <acronym>IMAP</acronym> a levelek leszedése
mellett tárolni is képes a távoli
szerveren.</para>
</listitem>
<listitem>
<para>Az <acronym>IMAP</acronym> támogat
párhuzamos lekéréseket.</para>
</listitem>
<listitem>
<para>Az <acronym>IMAP</acronym> hihetetlenül hasznos
tud lenni lassabb összeköttetések
esetében, mivel lehetővé teszi a
felhasználók számára, hogy
csak az üzenetek vázát
töltsék le és ne az egészet.
Továbbá a szerver és a kliens
közti adatmozgás csökkentése
érdekében képes bizonyos feladatokat
a szerveren elvégezni, például
keresni.</para>
</listitem>
</itemizedlist>
<para>Egy <acronym>POP</acronym> vagy <acronym>IMAP</acronym>
szerver telepítéséhez az alábbi
lépések megtétele
szükséges:</para>
<procedure>
<step>
<para>Válasszuk ki az igényeinket legjobban
kielégítő <acronym>IMAP</acronym> vagy
<acronym>POP</acronym> szervert. A következő
<acronym>POP</acronym> és <acronym>IMAP</acronym>
szerverek eléggé elterjedtek és
egyben remek példák:</para>
<itemizedlist>
<listitem>
<para><application>qpopper</application></para>
</listitem>
<listitem>
<para><application>teapop</application></para>
</listitem>
<listitem>
<para><application>imap-uw</application></para>
</listitem>
<listitem>
<para><application>courier-imap</application></para>
</listitem>
</itemizedlist>
</step>
<step>
<para>A Portgyűjteményből
telepítsük fel a kiválasztott
<acronym>POP</acronym> vagy <acronym>IMAP</acronym>
démont.</para>
</step>
<step>
<para>Ha szükséges, akkor a
<acronym>POP</acronym> vagy <acronym>IMAP</acronym>
szerver betöltéséhez írjuk
át az <filename>/etc/inetd.conf</filename>
állományt.</para>
</step>
</procedure>
<warning>
<para>Meg kell említenünk, hogy mind a
<acronym>POP</acronym> és az <acronym>IMAP</acronym>
az összes információt, tehát
belértve a felhasználók neveit
és jelszavait titkosítatlan formában
továbbítja. Ez azt jelenti, hogy ha ezeket a
protokollokat biztonságos módon
szeretnénk elérni, akkor az &man.ssh.1;
használatával hozzunk létre
hozzá egy tunnelt és azon keresztül
használjuk. Erről részletesebben a <xref linkend="security-ssh-tunneling"/>ban olvashatunk.</para>
</warning>
</sect3>
<sect3 xml:id="local">
<title>A helyi postaládák
elérése</title>
<para>A helyi postaládákat a szerveren levő
levelező kliensek közvetlen
használatával érhetjük el. Ilyen
alkalmazások például a
<application>mutt</application> vagy a &man.mail.1;.</para>
</sect3>
</sect2>
<sect2 xml:id="mail-host">
<title>A levelező szerver</title>
<indexterm><primary>levelező szerver</primary></indexterm>
<para>A levelező szerver az a szerver, amely a
gépünk vagy akár az egész
hálózatunk irányába
érkező levelek fogadásáért
és elküldéséért
felelős.</para>
</sect2>
</sect1>
<sect1 xml:id="sendmail">
<info><title>A <application>sendmail</application>
beállítása</title>
<authorgroup>
<author><personname><firstname>Christopher</firstname><surname>Shumway</surname></personname><contrib>Írta: </contrib></author>
</authorgroup>
</info>
<indexterm><primary><application>sendmail</application></primary></indexterm>
<para>A &man.sendmail.8; a &os; alapértelmezett
levéltovábbító ügynöke (Mail
Transfer Agent, <acronym>MTA</acronym>). A
<application>sendmail</application> feladata fogadni a
levelező kliensektől (Mail User Agent,
<acronym>MUA</acronym>) érkező leveleket és
kézbesíteni azokat a konfigurációs
állományában megadott megfelelő
levelezőnek. A <application>sendmail</application>
hálózati kapcsolatokat is fogad, képes a
helyi postaládákba vagy akár más
programoknak is leveleket továbbítani.</para>
<para>A <application>sendmail</application> a következő
állományban tárolja
beállításait:</para>
<indexterm><primary><filename>/etc/mail/access</filename></primary></indexterm>
<indexterm><primary><filename>/etc/mail/aliases</filename></primary></indexterm>
<indexterm><primary><filename>/etc/mail/local-host-names</filename></primary></indexterm>
<indexterm><primary><filename>/etc/mail/mailer.conf</filename></primary></indexterm>
<indexterm><primary><filename>/etc/mail/mailertable</filename></primary></indexterm>
<indexterm><primary><filename>/etc/mail/sendmail.cf</filename></primary></indexterm>
<indexterm><primary><filename>/etc/mail/virtusertable</filename></primary></indexterm>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<thead>
<row>
<entry>Állomány</entry>
<entry>Szerep</entry>
</row>
</thead>
<tbody>
<row>
<entry>
<filename>/etc/mail/access</filename>
</entry>
<entry>A <application>sendmail</application> által
engedélyezett hozzáféréseket
tároló adatbázis</entry>
</row>
<row>
<entry>
<filename>/etc/mail/aliases</filename>
</entry>
<entry>A postaládák álnevei</entry>
</row>
<row>
<entry>
<filename>/etc/mail/local-host-names</filename>
</entry>
<entry>Azon nevek felsorolása, amelyek
számára a
<application>sendmail</application> leveleket
fogad</entry>
</row>
<row>
<entry>
<filename>/etc/mail/mailer.conf</filename>
</entry>
<entry>A levelező programok
beállításai</entry>
</row>
<row>
<entry>
<filename>/etc/mail/mailertable</filename>
</entry>
<entry>A levelező programok
kézbesítési
táblázata</entry>
</row>
<row>
<entry>
<filename>/etc/mail/sendmail.cf</filename>
</entry>
<entry>A <application>sendmail</application> központi
beállításait tároló
állomány</entry>
</row>
<row>
<entry>
<filename>/etc/mail/virtusertable</filename>
</entry>
<entry>Virtuális felhasználók és
tartományok táblázatai</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<sect2>
<title><filename>/etc/mail/access</filename></title>
<para>Az engedélyezett hozzáféréseket
tároló adatbázis tartalmazza milyen
hálózati neveken vagy IP-címeken lehet
elérni a helyi levelező szervert és azok
milyen típusú hozzáférést
kapnak. A gépek az <option>OK</option> (rendben),
<option>REJECT</option> (visszautasít),
<option>RELAY</option> (továbbítás)
beállításokat alkalmazhatjuk, vagy
egyszerűen meghívhatjuk hozzájuk a
<application>sendmail</application> hibakezelő
rutinját egy adott kézbesítési
hibával. Ha egy gépet az <option>OK</option>
beállítással veszük fel a
listára, ami egyébként
alapértelmezés, akkor ez a gép levelet tud
küldeni egészen addig, amíg a
végső cél a helyi gép marad. A
<option>REJECT</option> beállítással
felsorolt gépek számára semmiféle
levelezés nem engedélyezett. Ha pedig egy
gép mellett a <option>RELAY</option>
beállítás jelenik meg, akkor a szerveren
keresztül tetszőleges címre
küldhet.</para>
<example>
<title>A <application>sendmail</application>
elérését szabályozó
adatbázis beállítása</title>
<programlisting>cyberspammer.com 550 Nem szeretjuk a spammereket
FREE.STEALTH.MAILER@ 550 Nem szeretjuk a spammereket
another.source.of.spam REJECT
okay.cyberspammer.com OK
128.32 RELAY</programlisting>
</example>
<para>Ebben a példában öt bejegyzést
láthatunk. A táblázat bal felének
valamelyik sorára illeszkedő küldőkre a
táblázatban a sor jobb felén megjelenő
cselekvés érvényesül. Az első
két sorban a <application>sendmail</application>
hibakezelő rutinjának adunk át
hibakódokat. A hozzá tartozó üzenet
akkor fog megjelenni a távoli gépen, amikor a
tőle érkező levél illeszkedik a bal
oldali szabályra. Az ezeket követő
bejegyzésben visszalökünk minden olyan levelet,
amely az internetről egy adott
számítógéptől érkezik,
például az <systemitem>another.source.of.spam</systemitem>
címről. A következő bejegyzésben
az <systemitem class="fqdomainname">okay.cyberspammer.com</systemitem>
címről elfogadjuk a kapcsolódást, ami
viszont sokkal pontosabb megjelölés a fentebb
szereplő <systemitem class="fqdomainname">cyberspammer.com</systemitem> sornál. A
pontosabban kifejtett nevek
felülbírálják a kevésbé
pontosan megnevezetteket. Végül az utolsó
bejegyzésben engedélyezzük a levelek
továbbküldését minden olyan gép
számára, amelynek címe a
<systemitem>128.32</systemitem> előtaggal kezdődik. Ezek
tehát képesek ezen a levelező szerveren
keresztül bárhova leveleket küldeni.</para>
<para>Az állomány módosítása
után az adatbázis
frissítéséhez mindig le kell futtatnunk egy
<command>make</command> parancsot az
<filename>/etc/mail/</filename> könyvtárban.</para>
</sect2>
<sect2>
<title><filename>/etc/mail/aliases</filename></title>
<para>Az álneveket tartalmazó adatbázis
virtuális postaládákat sorol fel, amelyek
más felhasználókra,
állományokra, programokra vagy további
álnevekre vonatkozhatnak. Íme
néhány példa az
<filename>/etc/mail/aliases</filename> állományban
szereplő bejegyzésekre:</para>
<example>
<title>Virtuális postaládák</title>
<programlisting>root: localuser
ftp-bugs: joe,eric,paul
bit.bucket: /dev/null
procmail: "|/usr/local/bin/procmail"</programlisting>
</example>
<para>A formai szabályok egyszerűek: a kettőspont
bal oldalára kell írni azt a
postaládát, amely a jobb oldalán levő
célokra bomlik. A példa első sorában
egyszerűen megfeleltetjük a <systemitem class="username">root</systemitem>
postaládáját a
<systemitem class="username">localuser</systemitem>
postaládájának, majd ezt a nevet
keressük az álnevek adatbázisában. Ha
nem találunk már rá illeszkedést,
akkor az üzenetet a <systemitem class="username">localuser</systemitem>
nevű helyi felhasználónak
továbbítjuk. A következő sorban
címek listáját láthatjuk. Ennek
megfelelően a <systemitem class="username">ftp-bugs</systemitem>
postaláda címére küldött levelek
három további helyi postaládára
mennek tovább: ezek név szerint a
<systemitem class="username">joe</systemitem>, <systemitem class="username">eric</systemitem> és
<systemitem class="username">paul</systemitem> felhasználók
postaládái. Itt a távoli
postaládák
<email>felhasználó@példa.hu</email> alakban
adhatóak meg. A következő sor az
állományok használatát
példázza, ahol konkrétan a
<filename>/dev/null</filename> állományba
irányítjuk át az adott címre
érkező leveleket. Az utolsó sorban pedig a
programok használatára láthatunk
példát, ahol ebben az esetben a levél egy
&unix;-os csövön keresztül a
<filename>/usr/local/bin/procmail</filename> szabványos
bemenetére kerül.</para>
<para>Ha megváltoztatjuk ezt az állományt,
akkor utána az adatbázis
frissítéséhez ne felejtsük el
meghívni a <command>make</command> parancsot az
<filename>/etc/mail/</filename> könyvtárban.</para>
</sect2>
<sect2>
<title><filename>/etc/mail/local-host-names</filename></title>
<para>Ebben az állományban adhatjuk meg, hogy a
&man.sendmail.8; milyen hálózati neveket fogadjon
el helyi hálózati névként. Ide kell
raknunk azokat a tartományokat vagy címeket,
amelyektől a <application>sendmail</application> leveleket
fogad el. Például, ha a levelező szerver az
<systemitem class="fqdomainname">minta.com</systemitem>
tartományból és a <systemitem class="fqdomainname">level.minta.com</systemitem> címről fogad el
leveleket, akkor a <filename>local-host-names</filename>
valahogy így fog kinézni:</para>
<programlisting>minta.com
level.minta.com</programlisting>
<para>Az állomány módosításakor
a &man.sendmail.8; programot újra kell indítani a
változások
érvényesítéséhez.</para>
</sect2>
<sect2>
<title><filename>/etc/mail/sendmail.cf</filename></title>
<para>Ahogy a <application>sendmail</application> központi
konfigurációs állománya, a
<filename>sendmail.cf</filename> irányítja a
<application>sendmail</application> átfogó
viselkedését, beleértve mindent az e-mail
címek átírásától
kezdve a távoli szervereknek küldött
elutasító üzenetek
küldéséig. Mivel ennyire sokfajta szerepet
tölt be egyszerre, ezért ez a
konfigurációs állomány
meglehetősen összetett és a
részletezése meghaladná ennek a
leírásnak a határait. Szerencsére
az átlagos levelező szerverek esetében ezt az
állományt nagyon ritkán kell
módosítani.</para>
<para>A <application>sendmail</application> központi
konfigurációs állománya a
<application>sendmail</application> lehetőségeit
és viselkedését meghatározó
&man.m4.1; makrókból építhető
fel. A pontosabb részleteket a
<filename>/usr/src/contrib/sendmail/cf/README</filename>
állományban találjuk meg.</para>
<para>Az állomány megváltoztatása
után a módosítások
érvényesítéséhez újra
kell indítani a <application>sendmail</application>
programot.</para>
</sect2>
<sect2>
<title><filename>/etc/mail/virtusertable</filename></title>
<para>A <filename>virtusertable</filename> állomány
képezi le a virtuális tartományokhoz
tartozó címeket valódi
postaládák címeire. Ezek a
postaládák lehetnek helyiek, távoliak, az
<filename>/etc/mail/aliases</filename> állományban
megadott álnevek vagy állományok.</para>
<example>
<title>Példa a virtuális tartományok
leképezésére</title>
<programlisting>root@minta.com root
postmaster@minta.com postmaster@noc.minta.net
@minta.com joe</programlisting>
</example>
<para>A fenti példában megadtunk egy
leképezést a <systemitem class="fqdomainname">minta.com</systemitem> tartományhoz. Ez az
állomány úgy dolgozódik fel, hogy
fentről lefelé illesztődnek a címek,
egészen az első egyezésig. Az első
bejegyzés szerint a <email>root@minta.com</email> a helyi
<systemitem class="username">root</systemitem> felhasználó
postaládájára képződik le. A
következő bejegyzés szerint a
<email>postmaster@minta.com</email> a <systemitem class="fqdomainname">noc.minta.net</systemitem> címen
található <systemitem class="username">postmaster</systemitem>
nevű felhasználó
postaládájára képződik le.
Végezetül, ha a <systemitem class="fqdomainname">minta.com</systemitem> címről eddig
még semmi sem illeszkedett volna, akkor az utolsó
leképezés veszi át, amely az <systemitem class="fqdomainname">minta.com</systemitem> tartományon
belül az összes többi címre
küldött levelet a helyi <systemitem class="username">joe</systemitem>
nevű felhasználó
postaládájára képezi le.</para>
</sect2>
</sect1>
<sect1 xml:id="mail-changingmta">
<info><title>A levéltovábbító ügynök
megváltoztatása</title>
<authorgroup>
<author><personname><firstname>Andrew</firstname><surname>Boothman</surname></personname><contrib>Írta: </contrib></author>
</authorgroup>
<authorgroup>
<author><personname><firstname>Gregory</firstname><surname>Neil Shapiro</surname></personname><contrib>Levelei segítségül
szolgáltak: </contrib></author>
</authorgroup>
</info>
<indexterm>
<primary>e-mail</primary>
<secondary>a levéltovábbító
megváltoztatása</secondary>
</indexterm>
<para>Ahogy arról már korábban szó
esett, a &os; alapból tartalmazza a
<application>sendmail</application> 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.</para>
<para>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 &os; megkönnyíti ezt a
váltást.</para>
<sect2>
<title>Az új levéltovábbító
telepítése</title>
<para>A levéltovábbítók széles
köre elérhető. A <link linkend="ports">&os;
Portgyűjteményéből</link> 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 &os;
alatt rendesen futtatni.</para>
<para>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 <application>sendmail</application>
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 <filename>/usr/bin/sendmail</filename>.
Másrészt az új levelező szoftvert
szolgálatba helyezése előtt
mindenképpen fontos megfelelően
beállítanunk.</para>
<para>A kiválasztott
levéltovábbító
beállításával kapcsolatban olvassuk
el a hozzá tartozó
dokumentációt.</para>
</sect2>
<sect2 xml:id="mail-disable-sendmail">
<title>A <application>sendmail</application>
letiltása</title>
<warning>
<para>Amikor letiltjuk a <application>sendmail</application>
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
&man.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ő,
<application>sendmail</application>-kompatibilis rendszert
feltételeznek. Ha letiltása után az
alkalmazások továbbra is a
<application>sendmail</application>
segítségével próbálnak
levelet küldeni, akkor ez a levél a
<application>sendmail</application> inaktív
sorába kerülhet, ahonnan soha nem kerül
kézbesítésre.</para>
</warning>
<para>A <application>sendmail</application> teljes
leállításához, beleértve a
kimenő levelekhez tartozó
szolgáltatást is, a következőket kell
megadni az <filename>/etc/rc.conf</filename>
állományban:</para>
<programlisting>sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"</programlisting>
<para>Ha csak a <application>sendmail</application>
beérkező levelekre vonatkozó
szolgáltatását akarjuk tiltani, akkor
ahhoz az <filename>/etc/rc.conf</filename>
állományban a következőt
állítsuk be:</para>
<programlisting>sendmail_enable="NO"</programlisting>
<para>A <application>sendmail</application>
indításával kapcsolatos további
beállításokat az &man.rc.sendmail.8; man
oldalon találjuk.</para>
</sect2>
<sect2>
<title>Az új levéltovábbító
elindítása a rendszerrel együtt</title>
<para>Az új levéltovábbítót
úgy tudjuk elindítani a rendszerrel együtt,
ha az <filename>/etc/rc.conf</filename>
állományba felvesszük a következő
sort, például a
<application>postfix</application> esetében:</para>
<screen>&prompt.root; echo '<replaceable>postfix</replaceable>_enable="YES"' &gt;&gt; /etc/rc.conf</screen>
<para>Az új levéltovábbító
így most már magától el fog indulni
a rendszer indításakor.</para>
</sect2>
<sect2>
<title>A <application>sendmail</application> mint a rendszer
alapértelmezett levelező eszközének
lecserélése</title>
<para>A <application>sendmail</application> 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
<application>sendmail</application> kompatibilis parancssoros
felület is, amellyel igyekeznek megkönnyíteni a
<application>sendmail</application> <quote>gyors</quote>
lecserélését.</para>
<para>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 <application>sendmail</application>
binárisok, mint például a
<filename>/usr/bin/sendmail</filename>, valóban a
kiválasztott levéltovábbítot
fogják aktiválni. Szerencsére a &os;
pontosan emiatt tartalmaz egy &man.mailwrapper.8; nevű
rendszert.</para>
<para>Amikor a <application>sendmail</application>
telepítése szerint működik, valami
hasonlót fogunk találni az
<filename>/etc/mail/mailer.conf</filename>
állományban:</para>
<programlisting>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</programlisting>
<para>Ez azt jelenti, hogy amikor az itt felsorolt
általános parancsok közül lefuttatjuk
valamelyiket (például magát a
<filename>sendmail</filename> parancsot), akkor a rendszer
magától meghívja a
<filename>sendmail</filename> néven szereplő wrapper
programot, amely pedig a <filename>mailer.conf</filename>
alapján kideríti, hogy az adott esetben a
<filename>/usr/libexec/sendmail/sendmail</filename>
hívására van szükség. Ez a
rendszer megkönnyíti az alapértelmezett
<filename>sendmail</filename> funkciók helyében
lefuttatandó binárisok
átállítását.</para>
<para>Így tehát, ha a
<filename>/usr/local/supermailer/bin/sendmail-compat</filename>
állományt akarjuk futtatni a megszokott
<application>sendmail</application> helyében, akkor az
<filename>/etc/mail/mailer.conf</filename>
állományt a következőképpen kell
módosítanunk:</para>
<programlisting>sendmail /usr/local/<replaceable>kedvenclevelező</replaceable>/bin/sendmail-compat
send-mail /usr/local/<replaceable>kedvenclevelező</replaceable>/bin/sendmail-compat
mailq /usr/local/<replaceable>kedvenclevelező</replaceable>/bin/mailq-compat
newaliases /usr/local/<replaceable>kedvenclevelező</replaceable>/bin/newaliases-compat
hoststat /usr/local/<replaceable>kedvenclevelező</replaceable>/bin/hoststat-compat
purgestat /usr/local/<replaceable>kedvenclevelező</replaceable>/bin/purgestat-compat</programlisting>
</sect2>
<sect2>
<title>A művelet befejezése</title>
<para>Ahogy a céljainknak megfelelően mindent
beállítottunk, akkor vagy egyszerűen
leállítjuk a <application>sendmail</application>
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.</para>
</sect2>
</sect1>
<sect1 xml:id="mail-trouble">
<title>A hibák elhárítása</title>
<indexterm>
<primary>e-mail</primary>
<secondary>hibaelhárítás</secondary>
</indexterm>
<qandaset>
<qandaentry>
<question>
<para>Miért kell teljes hálózati neveket
megadni a gépemen?</para>
</question>
<answer>
<para>Előfordulhat, hogy a hivatkozni
kívánt gép valójában egy
másik tartományban szerepel.
Például, ha az <systemitem class="fqdomainname">ize.mize.edu</systemitem> gépen vagyunk
és a <systemitem>vagyis</systemitem> nevű gépet
akarjunk innen elérni a <systemitem class="fqdomainname">mize.edu</systemitem> tartományban,
akkor a teljes hálózati nevével, vagyis
a <systemitem class="fqdomainname">vagyis.mize.edu</systemitem> néven
kell rá hivatkoznunk, nem pedig egyszerűen csak
<systemitem>vagyis</systemitem> néven.</para>
<para>Régebben egyébként ezt a
BSD-típusú BIND<indexterm><primary>BIND</primary>
</indexterm> névfeloldók
megengedték. A &os; jelenlegi változatai
azonban már olyan <application>BIND</application>
verziót tartalmaznak, amelyek
alapértelmezés szerint már nem engedik
a tartományunkon kívüli relatív
nevek használatát. Tehát a
<systemitem>vagyis</systemitem> vagy a <systemitem class="fqdomainname">vagyis.ize.mize.edu</systemitem> gép lesz,
vagy a legfelső, gyökér tartományban
keresi a rendszer.</para>
<para>Ez eltér a korábbi
viselkedéstől, ahol a keresés
folytatódott a <systemitem class="fqdomainname">vagyis.mize.edu</systemitem> és <systemitem class="fqdomainname">vagyis.edu</systemitem> tartományokban
is. Az RFC&nbsp;1535 elolvasásából ki
fog derülni, hogy miért nem vált be ez a
gyakorlat és hogy miért tekinthető
még akár biztonsági résnek
is.</para>
<para>Ezt a problémát egyébként
megoldhatjuk annyival, hogy az
<filename>/etc/resolv.conf</filename>
állományba a</para>
<programlisting>search ize.mize.edu mize.edu</programlisting>
<para>sor helyett a</para>
<programlisting>domain ize.mize.edu</programlisting>
<para>sort írjuk be. Arra viszont ügyeljünk,
hogy a keresési rend ne lépje át a
<quote>helyi és nyilvános
adminisztráció között
meghúzódó határt</quote>, ahogy
azt az RFC&nbsp;1535 nevezi.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>A <application>sendmail</application> szerint <quote>a
levél a saját farkába
harap</quote></para>
</question>
<answer>
<para>Ezt a <application>sendmail</application> gyakran
ismértelt kérdései között a
következőképpen válaszolták
meg:</para>
<programlisting>A következő hibaüzenetet kapom:
553 MX list for <replaceable>taromány.net</replaceable> points back to <replaceable>felé.tartomány.net</replaceable>
554 <replaceable>felhasználó@tartomány.net</replaceable>... Local configuration error
Hogyan oldható meg ez a probléma?
Azt kértük, hogy a tartományba (például <replaceable>tartomány.net</replaceable>) küldött levél
az MX<indexterm><primary>MX rekord</primary></indexterm> rekord felhasználásával egy adott gépre legyen átirányítva
(ebben az esetben ez a <replaceable>felé.tartomány.net</replaceable>), de a továbbítást végző gép
nem ismeri fel magát a <replaceable>tartomány.net</replaceable> címen. Vegyük fel a <replaceable>tartomány.net</replaceable>
tartományt az /etc/mail/local-host-names állományba [melyet a 8.10 előtti
verziókban /etc/sendmail.cw állománynak hívnak] (ha a
FEATURE(use_cw_file) beállítást használjuk) vagy tegyük hozzá a
<quote>Cw <replaceable>tartomány.net</replaceable></quote> sort az /etc/mail/sendmail.cf
állományhoz.</programlisting>
<para>A <application>sendmail</application> GYIK a <uri xlink:href="http://www.sendmail.org/faq/">http://www.sendmail.org/faq/</uri> címen
található meg (angolul) és
mindenképpen javasolt elolvasni, ha <quote>fel
szeretnénk piszkálni</quote> a levelező
rendszerünk beállításait.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Hogyan tudok levelező szervert futtatni egy
betárcsázós PPP<indexterm><primary>PPP</primary></indexterm> kapcsolat
esetében?</para>
</question>
<answer>
<para>Egy helyi hálózaton levő &os;-s
gépet akarunk tehát az internethez kapcsolni.
Ez a &os;-s gép lesz a helyi hálózat
leveleket továbbító
átjárója. A PPP kapcsolat nem
dedikált.</para>
<para>Legalább két módon meg tudjuk
oldani. Az egyik módszer szerint az UUCP<indexterm><primary>UUCP</primary></indexterm>
használatára lesz
szükségünk.</para>
<para>A másik módszer szerint szereznünk
kell egy éjjel-nappal üzemelő internetes
szervert, amely majd szolgáltatja a másodlagos
MX rekordot a tartományunkhoz.
Például, ha a cégünk
tartománya a <systemitem class="fqdomainname"><replaceable>cég.hu</replaceable></systemitem>
és az internet-szolgáltatónk a <systemitem class="fqdomainname"><replaceable>szolgáltató.net</replaceable></systemitem>
névre beállította a
tartományunkhoz a másodlagos MX<indexterm><primary>MX record</primary></indexterm>
rekordokat:</para>
<programlisting><replaceable>cég.hu</replaceable>. MX 10 <replaceable>cég.hu</replaceable>.
MX 20 <replaceable>szolgáltató.net</replaceable>.</programlisting>
<para>Végső címzettként csak egy
gépet kell megadni (az
<filename>/etc/mail/sendmail.cf</filename>
állományba a <systemitem class="fqdomainname"><replaceable>cég.hu</replaceable></systemitem>
címhez tegyük hozzá a <literal>Cw
cég.hu</literal>
sort).</para>
<para>Amikor a leveleket küldeni akaró
<command>sendmail</command> megpróbál
kézbesíteni, először hozzánk
(<systemitem class="fqdomainname"><replaceable>cég.hu</replaceable></systemitem>)
próbál csatlakozni a modemes
összeköttetésen keresztül. Ez
valószínűleg
időtúllépéssel befejeződik,
mivel nem vagyunk fenn minden pillanatban a neten. A
<application>sendmail</application> ekkor automatikusan a
másodlagos MX rekord által megadott
címre küldi a levelet, tehát a
szolgáltatónkhoz (<systemitem class="fqdomainname"><replaceable>szolgáltató.net</replaceable></systemitem>).
Ez a másodlagos MX cím próbálja
majd időlegesen elérni a gépünket
és kézbesíteni a leveleket az
elsődleges MX rekord által megadott gépre
(<systemitem class="fqdomainname"><replaceable>cég.hu</replaceable></systemitem>).</para>
<para>A bejelentkezéskor ezért egy
hasonló szkriptet kell lefuttatnunk:</para>
<programlisting>#!/bin/sh
# Tegyük a /usr/local/bin/pppmyisp állományba:
( sleep 60 ; /usr/sbin/sendmail -q ) &amp;
/usr/sbin/ppp -direct pppmyisp</programlisting>
<para>Ha készítünk egy külön
bejelentkező szkriptet a felhasználók
számára, akkor a <command>sendmail
-qRcég.hu</command>
parancsot is használhatjuk a fenti szkript helyett.
Ezzel a <systemitem class="fqdomainname"><replaceable>cég.hu</replaceable></systemitem>
sorában található összes
levél azonnal feldolgozásra kerül.</para>
<para>A helyzetet így lehetne még jobban
pontosítani:</para>
<para>Az alábbi üzenet a &a.isp;
archívumából származik.</para>
<programlisting>&gt; we provide the secondary MX for a customer. The customer connects to
&gt; our services several times a day automatically to get the mails to
&gt; his primary MX (We do not call his site when a mail for his domains
&gt; arrived). Our sendmail sends the mailqueue every 30 minutes. At the
&gt; moment he has to stay 30 minutes online to be sure that all mail is
&gt; gone to the primary MX.
&gt;
&gt; Is there a command that would initiate sendmail to send all the mails
&gt; now? The user has not root-privileges on our machine of course.
In the <quote>privacy flags</quote> section of sendmail.cf, there is a
definition Opgoaway,restrictqrun
Remove restrictqrun to allow non-root users to start the queue processing.
You might also like to rearrange the MXs. We are the 1st MX for our
customers like this, and we have defined:
# If we are the best MX for a host, try directly instead of generating
# local config error.
OwTrue
That way a remote site will deliver straight to you, without trying
the customer connection. You then send to your customer. Only works for
<quote>hosts</quote>, so you need to get your customer to name their mail
machine <quote>customer.com</quote> as well as
<quote>hostname.customer.com</quote> in the DNS. Just put an A record in
the DNS for <quote>customer.com</quote>.</programlisting>
<para>Az idézet fordítása:</para>
<programlisting>&gt; Másodlagos MX rekordot biztosítunk az ügyfeleinknek. Az ügyfelek ezután automatikusan
&gt; csatlakoznak naponta akár többször is a szolgáltatásunkhoz és leszedik az elsődleges MX
&gt; rekordhoz tartozó leveleket. (Nem szólunk neki, amikor a tartományához levél
&gt; érkezik.) A sendmail programunk minden 30 percben elküldi a sorban felhalmozódott
&gt; leveleket. Tehát jelen pillanatban legalább 30 percig fenn kell lennie az ügyfélnek, hogy
&gt; rendben megkapja az elsődlegesre MX rekordra.
&gt;
&gt; Létezik valamilyen parancs a sendmail programhoz, amellyel azonnal lekérhetjük az összes
&gt; levelünket? A felhasználómnak természetesen nincsenek rendszergazdai jogosultságai az adott
&gt; gépen.
A sendmail.cf <quote>privacy flags</quote> beállításai között van egy definíció, az
Opgoaway,restrictqrun.
Vegyük ki innen a restrictqrun beállítást, amivel a nem root felhasználók is megindíthatják a
sor feldolgozását. Valószínűleg az MX-ek átrendezésére is szükség lesz. Mi vagyunk az első MX
az ilyen típusú ügyfelek számára, és ezt adtuk meg:
# Ha mi vagyunk a legjobb MX a levél számára, akkor ne generáljunk
# helyi beállítási hibát, hanem próbálkozzunk közvetlenül.
OwTrue
Ezzel már a távoli gép közvetlenül nekünk küld anélkül, hogy próbálkozna az ügyfél kapcsolatával.
Ezt majd továbbküldjünk az ügyfélnek. Ez csak hálózati nevek esetében működik, tehát az ügyfelünknek
el kell neveznie a leveleket fogadó gépét <quote>customer.com</quote>-nak, valamint a fel kell venni a
<quote>hostname.customer.com</quote> címet is a DNS-be. Ehhez egyszerűen csak elegendő egy A rekordot
betenni a <quote>customer.com</quote>-hoz.</programlisting>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Miért kapok folyton <errorname>Relaying
Denied</errorname> hibát, amikor más
gépekről küldök levelet?</para>
</question>
<answer>
<para>A &os; alapértelmezett telepítése
során a <application>sendmail</application>
úgy állítódik be, hogy csak
arról a gépről küldhetünk vele
levelet, ahol fut. Például, ha
<acronym>POP</acronym> szerver is elérhető,
akkor a felhasználók meg tudják
nézni a leveleiket az iskolából,
munkából vagy bármilyen más
távoli helyről, de leveleket onnan
továbbra sem tudnak küldeni.
Általában pár pillanattal a
próbálkozás után a
<application>MAILER-DAEMON</application> küldeni fog
egy <errorname>5.7 Relaying Denied</errorname>
(<errorname>5.7 A továbbítás nem
engedélyezett</errorname>) üzenetet.</para>
<para>Több lehetőségünk is van ennek
megkerülésére. Az a legegyszerűbb
módszer, ha az internet-szolgáltatónk
címét felvesszük az
<filename>/etc/mail/relay-domains</filename>
állományba. Például
így:</para>
<screen>&prompt.root; <userinput>echo "az.internet.szolgáltató.net" &gt; /etc/mail/relay-domains</userinput></screen>
<para>Az állomány létrehozása vagy
módosítása után újra kell
indítanunk a <application>sendmail</application>
programot. Ez remekül működik abban az
esetben, ha rendszergazdák vagyunk és nem
akarunk a helyi gépről levelet küldeni,
vagy egy másik gépen vagy akár
másik internet-szolgáltatóval akarunk
valamilyen kattingatós levelező programot
használni. Olyankor is nagyon hasznos lehet, amikor
csak egy vagy két e-mail
hozzáférést állítottunk
be. Ha egyszerre több címet is fel
szeretnénk venni, akkor nyissuk meg ezt az
állományt a kedvenc
szövegszerkesztőnkkel és írjuk be a
tartományokat, soronként egyet:</para>
<programlisting>saját.internet.szolgáltató.net
másik.internet.szolgáltató.com
felhasználók-internet.szolgáltató.ja
www.minta.org</programlisting>
<para>Innentől kezdve a listában szereplő
bármelyik gépről tudunk levelet
küldeni (feltéve, hogy az adott
felhasználó hozzáfér a
gépünkhöz). Ezzel
gyönyörűen megoldhatjuk, hogy a
felhasználóink képesek legyenek
távolról is levelet küldeni a
rendszerünkön keresztül anélkül,
hogy mások pedig szemetet küldenének
át rajtunk.</para>
</answer>
</qandaentry>
</qandaset>
</sect1>
<sect1 xml:id="mail-advanced">
<title>Komolyabb témák</title>
<para>A következő szakaszban szóba kerülnek
olyan komolyabb témák, mint például a
levelek konfigurációja és a levelezés
beállítása az egész tartomány
számára.</para>
<sect2 xml:id="mail-config">
<title>Alapvető beállítások</title>
<indexterm>
<primary>e-mail</primary>
<secondary>beállítás</secondary>
</indexterm>
<para>Alapból képesnek kell lennünk leveleket
küldeni külső gépekre egészen
addig, amíg az <filename>/etc/resolv.conf</filename>
állomány a megfelelő
beállításokat tartalmazza vagy egy
saját névszervert futtatunk. Ha
szeretnénk, hogy a gépünkre
érkező levelek elérjék a &os;-s
gépünkön futó
levéltovábbító
ügynököt (például a
<application>sendmail</application> programot), akkor erre
két módszer kínálkozik:</para>
<itemizedlist>
<listitem>
<para>Futtassunk saját névszervert és
hozzunk létre magunknak egy tartományt.
Például <systemitem class="fqdomainname">FreeBSD.org</systemitem>.</para>
</listitem>
<listitem>
<para>Közvetlenül a gépünkre
küldessük a leveleket. Ezt úgy
tehetjük meg, ha egyből a
gépünkhöz tartozó DNS névre
küldetjük a leveleket. Például az
<systemitem class="fqdomainname">enyem.FreeBSD.org</systemitem>
címre.</para>
</listitem>
</itemizedlist>
<indexterm><primary>SMTP</primary></indexterm>
<para>Függetlenül attól, hogy a fentiek
közül melyik megoldást választjuk, a
levelek csak akkor tudnak eljutni közvetlenül a
gépünkre, ha állandó, statikus
IP-címmel rendelkezünk (tehát nem dinamikus
címmel, amit általában a
betárcsázós PPP kapcsolatokhoz szoktak
kiosztani). Ha tűzfal mögött vagyunk, akkor
valamilyen módon felénk kell
irányítani az SMTP forgalmat is. Ha
közvetlenül a gépünkön akarjuk
fogadni a leveleket, akkor a következő kettő
közül az egyik mindenképpen kelleni fog:</para>
<itemizedlist>
<listitem>
<para>Gondoskodjunk róla, hogy a hozzánk
tartozó DNS-ben (legkisebb sorszámú) MX
rekord<indexterm><primary>MX rekord</primary></indexterm> a gépünk IP-címére
mutat.</para>
</listitem>
<listitem>
<para>Gondoskodjunk róla, hogy a hozzánk
tartozó DNS-ben nincs semmilyen MX rekord a
gépünkhöz.</para>
</listitem>
</itemizedlist>
<para>A fentiek közül bármelyik elég
ahhoz, hogy közvetlenül a gépünkre
érkezzen meg a levél.</para>
<para>Próbáljuk ki:</para>
<screen>&prompt.root; <userinput>hostname</userinput>
enyem.FreeBSD.org
&prompt.root; <userinput>host enyem.FreeBSD.org</userinput>
enyem.FreeBSD.org has address 204.216.27.XX</screen>
<para>Ha ezt látjuk, akkor minden gond nélkül
lehet küldeni levelet a <email role="nolink">nevem@enyem.FreeBSD.org</email> a címre
(feltételezve, hogy a <application>sendmail</application>
megfelelően működik az <systemitem class="fqdomainname">enyem.FreeBSD.org</systemitem> címen).</para>
<para>Ha viszont ehhez hasonlót tapasztalunk:</para>
<screen>&prompt.root; <userinput>host enyem.FreeBSD.org</userinput>
enyem.FreeBSD.org has address 204.216.27.XX
enyem.FreeBSD.org mail is handled (pri=10) by kozpont.FreeBSD.org</screen>
<para>A gépünkre (<systemitem class="fqdomainname">enyem.FreeBSD.org</systemitem>) küldött
összes levelet a <systemitem>kozpont</systemitem> szedi össze
ugyanazon felhasználói névvel ahelyett,
hogy közvetlenül a gépünkre küldeni
ezeket.</para>
<para>Az iménti adatokat a DNS szerver határozza
meg. A levelek továbbításával
kapcsolatos információkat az
<emphasis>MX</emphasis> mint <emphasis>M</emphasis>ail
e<emphasis>X</emphasis>change DNS-rekord tárolja. Ha
nincs ilyen MX rekord, akkor az IP-cím alapján
közvetlenül az adott géphez kerül a
levél.</para>
<para>Például a <systemitem class="fqdomainname">freefall.FreeBSD.org</systemitem> MX rekordja
hajdanán így nézett ki:</para>
<programlisting>freefall MX 30 mail.crl.net
freefall MX 40 agora.rdrop.com
freefall MX 10 freefall.FreeBSD.org
freefall MX 20 who.cdrom.com</programlisting>
<para>Láthatjuk, hogy a <systemitem>freefall</systemitem>
esetében több MX bejegyzés is szerepel. A
legalacsonyabb MX-számú gép fogja kapni az
erre a címre beérkező leveleket, amennyiben
elérhető. Ha valamilyen okból nem
érhető el, akkor helyette ideiglenesen a
többiek (melyeket néha csak <quote>tartalék
MX-eknek</quote> neveznek) veszik át a levelet és
átadják a legalacsonyabb számúnak,
amint az újra elérhetővé
válik.</para>
<para>A tartalék jelleggel megadott MX gépek akkor
érnek ténylegesen valamit, ha teljesen
máshonnan csatlakoznak az internethez. Az internet
szolgáltató vagy egy ismerősünk
gépe valószínűleg minden
további nélkül segít ennek
megoldásában.</para>
</sect2>
<sect2 xml:id="mail-domain">
<title>Egy egész tartomány leveleinek
kezelése</title>
<para>Egy levelező szerver
beállításához valahogy meg kell
tudnunk oldalni, hogy a különböző
munkaállomásokra küldött levelek
közvetlenül hozzá fussanak be. Alapvetően
tehát arról lenne szó, hogy a
tartományunkon (ez ebben az esetben a <systemitem class="fqdomainname">*.FreeBSD.org</systemitem>) belüli gépekre
címzett levelekre ez a gép <quote>tart
igényt</quote> és így ezek ide
irányítódnak át, majd a
felhasználók erről a központi
levelező szerverről kapják meg a
leveleiket.</para>
<indexterm><primary>DNS</primary></indexterm>
<para>Az életünk
megkönnyítéséhez minden
felhasználónak létrehozzuk a saját
<emphasis>felhasználói nevét</emphasis> a
levelező szerveren is. Ezt az &man.adduser.8; paranccsal
gyorsan el is végezhetjük.</para>
<para>A levelező szerver lesz a hálózat
összes munkaállomásához kirendelt
levélváltó. Ezt a DNS
beállításai között így
adhatjuk meg:</para>
<programlisting>enyem.FreeBSD.org A 204.216.27.XX ; Munkaállomás
MX 10 kozpont.FreeBSD.org ; Levelező szerver</programlisting>
<para>Ezzel lényegében az A rekord figyelmen
kívül hagyásával
átirányítjuk a munkaállomások
számára érkező összes levelet a
levelező szerverre. A levelek tehát az MX rekord
által mutatott címre mennek ki.</para>
<para>Ezt önállóan nem tudjuk elvégezni,
hacsak nem futattunk egy saját DNS szervert. Ha nincsen
vagy nem is tudunk DNS szervert futtatni, akkor ebben a
kérdésben egyeztessünk az
internet-szolgáltatónkkal vagy bárkivel,
aki a DNS beállításaiért
felelős.</para>
<para>Ha virtuális e-mail címket is kezelünk,
akkor a most következő információ
még a hasznunkra lehet. A példa
kedvéért most feltesszük, hogy a
tartományunkban van egy ügyfelünk, jelen
esetben az <systemitem class="fqdomainname">ugyfel1.org</systemitem>,
és azt akarjuk, hogy az <systemitem class="fqdomainname">ugyfel1.org</systemitem> címére
küldött levelek a saját levelező
szerverünkre kerüljenek át, a <systemitem class="fqdomainname">level.sajat.com</systemitem> címre. A DNS-t
ehhez így kell beállítani:</para>
<programlisting>ugyfel1.org MX 10 level.sajat.com</programlisting>
<para>Ha csak az <systemitem class="fqdomainname">ugyfel1.org</systemitem>
levelezését akarjuk kezelni, akkor ahhoz
<emphasis>nem</emphasis> kell külön A rekord.</para>
<note>
<para>Vigyázzunk, mert az <systemitem class="fqdomainname">ugyfel1.org</systemitem> csak akkor
pingelhető, ha létezik hozzá A
rekord.</para>
</note>
<para>Befejezésül a levelező
szerverünkön futó
<application>sendmail</application> számára is fel
kell tárnunk, hogy milyen tartományokhoz
és/vagy hálózati nevekhez fogadjon
leveleket. Ezt több módon is
elvégezhetjük. A következők
bármelyik megfelel erre a célra:</para>
<itemizedlist>
<listitem>
<para>A <literal>FEATURE(use_cw_file)</literal>
használata esetén vegyük fel a
címeket az
<filename>/etc/mail/local-host-names</filename>
állományba. Ha a
<application>sendmail</application> 8.10 előtti
változatai esetében ehhez az
<filename>/etc/sendmail.cw</filename>
állományra lesz
szükségünk.</para>
</listitem>
<listitem>
<para>Tegyük be a <literal>Cwsajat.cimunk.com</literal>
sort az <filename>/etc/sendmail.cf</filename> vagy a
<application>sendmail</application> 8.10 és
későbbi változatai esetén az
<filename>/etc/mail/sendmail.cf</filename>
állományba.</para>
</listitem>
</itemizedlist>
</sect2>
</sect1>
<sect1 xml:id="SMTP-UUCP">
<title>SMTP és az UUCP</title>
<para>A &os;-hez tartozó <application>sendmail</application>
olyan gépek számára lett kialakítva,
amelyek közvetlenül az internethez csatlakoznak. Az
UUCP használatával levelező rendszerek
számára egy másik konfigurációs
állományt kell telepíteni a
<application>sendmail</application> számára.</para>
<para>Az <filename>/etc/mail/sendmail.cf</filename>
állítása kézzel
egyáltalán nem könnyű. A
<application>sendmail</application> 8. változata
ráadásul a konfigurációs
állományokat az &man.m4.1; előfeldolgozó
segítségével gyártja le, ahol a
tényleges beállítások egy magasabb
absztrakciós szinten jelennek meg. Az &man.m4.1;
típusú konfigurációs
állományok a
<filename>/usr/share/sendmail/cf</filename>
könyvtárban találhatóak. A
<filename>cf</filename> alkönyvtárban levő
<filename>README</filename> állomány igyekszik a
felhasználót bevezetni az &man.m4.1; alapú
beállítások világába.</para>
<para>A <literal>mailertable</literal> nevű
lehetőség használatával tudjuk a
legjobban támogatni az UUCP protokollon keresztüli
kézbesítést. Ezzel felépül egy
olyan adatbázis, amelyet a
<application>sendmail</application> fel tud használni a
továbbítást érintő
döntésekben.</para>
<para>Ehhez elsőként hozzuk is létre a
saját <filename>.mc</filename> állományunkat.
Ehhez a <filename>/usr/share/sendmail/cf/cf</filename>
könyvtár tartalmaz néhány
példát. Hívjuk most ezt az
állomnyunkat <filename>ize.mc</filename> néven. A
következő módszerrel tudjuk egy valós
<filename>sendmail.cf</filename> állománnyá
alakítani:</para>
<screen>&prompt.root; <userinput>cd /etc/mail</userinput>
&prompt.root; <userinput>make ize.cf</userinput>
&prompt.root; <userinput>cp ize.cf /etc/mail/sendmail.cf</userinput></screen>
<para>Egy átlagos <filename>.mc</filename>
állomány egyébként valahogy így
épül fel:</para>
<programlisting>VERSIONID(`<replaceable>verziószám</replaceable>') OSTYPE(bsd4.4)
FEATURE(accept_unresolvable_domains)
FEATURE(nocanonify)
FEATURE(mailertable, `hash -o /etc/mail/mailertable')
define(`UUCP_RELAY', <replaceable>sajat.uucp.relay</replaceable>)
define(`UUCP_MAX_SIZE', 200000)
define(`confDONT_PROBE_INTERFACES')
MAILER(local)
MAILER(smtp)
MAILER(uucp)
Cw <replaceable>sajat.al.nev</replaceable>
Cw <replaceable>azuucpgepneve.UUCP</replaceable></programlisting>
<para>Az <literal>accept_unresolvable_domains</literal>,
<literal>nocanonify</literal> és
<literal>confDONT_PROBE_INTERFACES</literal>
lehetőségekre hivatkozó sorok
megakadályozzák, hogy a levél
kézbesítésében a DNS is szerepet
játsszon. Az <literal>UUCP_RELAY</literal> az UUCP
alapú kézbesítés
támogatását engedélyezi.
Egyszerűen csak írjunk ide egy internetes
hálózati nevet, amely képes feldolgozni az
.UUCP áltartomány címeit. Az esetek
többségében ide az
internet-szolgáltatónk levelek
továbbküldéséért felelős
gépe kerül.</para>
<para>Miután ezzel végeztünk,
szükségünk lesz még az
<filename>/etc/mail/mailertable</filename>
állományra is. Ha a külvilág
felé csak egyetlen összeköttetést
használunk a levelekhez, akkor az alábbi pontosan
megfelel:</para>
<programlisting>#
# makemap hash /etc/mail/mailertable.db &lt; /etc/mail/mailertable
. uucp-dom:<replaceable>sajat.uucp.relay</replaceable></programlisting>
<para>Egy bonyolultabb példa pedig így néz
ki:</para>
<programlisting>#
# makemap hash /etc/mail/mailertable.db &lt; /etc/mail/mailertable
#
horus.interface-business.de uucp-dom:horus
.interface-business.de uucp-dom:if-bus
interface-business.de uucp-dom:if-bus
.heep.sax.de smtp8:%1
horus.UUCP uucp-dom:horus
if-bus.UUCP uucp-dom:if-bus
. uucp-dom:</programlisting>
<para>Az első három sor azokat a speciális
eseteket kezeli, ahol a tartomány felé
küldött levelek nem az alapértelmezett
úton visszük tovább, hanem valamelyik UUCP
szomszéd felé és így <quote>le tudjuk
rövidíteni</quote> a kézbesítés
útvonalát. Az ezeket követő sor dolgozza
fel a helyi Ethernet tartomány felé STMP protokollal
továbbítható leveleket. Végül az
UUCP szomszédokat is felsoroljuk az .UUCP
áltartomány jelölése szerint, így
megengedjük, hogy a
<literal>uucp-szomszéd!
címzett</literal>
felülbírálja az alapértelmezett
szabályokat. Az utolsó sorban mindig egyetlen pont
szerepel, ami minden másra illeszkedik, így az UUCP
kézbesítés egy olyan UUCP szomszéd
felé halad, amely a világ felé egy
univerzális levelező átjárónak
tekinthető. A <literal>uucp-dom:</literal> kulcsszó
mögött szereplő összes csomópont
nevének érvényes UUCP szomszédra kell
utalnia, amelyet a <command>uuname</command> paranccsal le is
tudunk ellenőrizni.</para>
<para>A feladatból már csak annyi maradt hátra,
hogy használat előtt ezt az állományt
át kell alakítani DBM adatbázis
formátumba. Az ehhez szükséges parancsot
érdemes <filename>mailertable</filename>
állomány elejére bejegyzésben
felírni. A <filename>mailertable</filename>
megváltoztatásakor mindig le kell futtatni ezt a
parancsot.</para>
<para>Utolsó jótanács: ha nem lennénk
biztosak valamelyik kézbesítési
útvonal működésében, ne
felejtsük el a <application>sendmail</application>
<option>-bt</option> beállítását.
Ezzel a <application>sendmail</application> az ún.
<emphasis>címtesztelő módban</emphasis>
(address test mode) indul el. Gépeljük be, hogy
<literal>3,0</literal>, majd írjuk be a tesztelni
kívánt címet. Az utolsó sorban
láthatjuk a felhasznált belső
levéltovábbító
ügynököt, a célgépet, amellyel ezt
meghívjuk, és a (valószínűleg az
átfordított) címet. Innen a <keycombo action="simul"><keycap>Ctrl</keycap><keycap>D</keycap></keycombo>
billentyűkombinációval léphetünk
ki.</para>
<screen>&prompt.user; <userinput>sendmail -bt</userinput>
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter &lt;ruleset&gt; &lt;address&gt;
<prompt>&gt;</prompt> <userinput>3,0 ize@pelda.com</userinput>
canonify input: ize @ pelda . com
...
parse returns: $# uucp-dom $@ <replaceable>sajat.uucp.relay</replaceable> $: ize &lt; @ pelda . com . &gt;
<prompt>&gt;</prompt> <userinput>^D</userinput></screen>
</sect1>
<sect1 xml:id="outgoing-only">
<info><title>Csak küldés
beállítása</title>
<authorgroup>
<author><personname><firstname>Bill</firstname><surname>Moran</surname></personname><contrib>Készítette: </contrib></author>
</authorgroup>
</info>
<para>Gyakran előfordulhat, hogy csak leveleket akarunk
továbbküldeni. Mint például:</para>
<itemizedlist>
<listitem>
<para>Asztali számítógépünk
van, de használni akarunk olyan programokat, mint
például a &man.send-pr.1;. Ehhez az
internet-szolgáltatón keresztül kell
továbbküldeni a levelet.</para>
</listitem>
<listitem>
<para>A számítógépünk egy olyan
szerver, amely nem helyben kezeli a leveleket, ezért az
összeset átküldi feldolgozásra.</para>
</listitem>
</itemizedlist>
<para>Szinte bármelyik levélküldő
ügynök képes betölteni ezt az űrt.
Sajnos eléggé bonyolult helyesen
beállítani úgy egy bármire
képes levélküldőt, hogy egyszerűen
csak szabaduljon meg a levelektől. Ilyenkor a
<application>sendmail</application> vagy a
<application>postfix</application> használatával
tulajdonképpen ágyúval lövünk
verébre.</para>
<para>Továbbá, ha egy átlagos
internet-hozzáféréssel rendelkezünk,
adódhat, hogy a szerződés egyszerűen
tiltja a <quote>levelező szerver</quote>
futtatását.</para>
<para>Legegyszerűbben úgy tudjuk
kielégíteni az ilyen jellegű igényeket,
ha feltelepítjük a <package>mail/ssmtp</package> portot. A
<systemitem class="username">root</systemitem> felhasználóval adjuk ki a
következő parancsokat:</para>
<screen>&prompt.root; <userinput>cd /usr/ports/mail/ssmtp</userinput>
&prompt.root; <userinput>make install replace clean</userinput></screen>
<para>Telepítése után a <package>mail/ssmtp</package> portot a mindössze
négysoros
<filename>/usr/local/etc/ssmtp/ssmtp.conf</filename>
állománnyal állíthatjuk be:</para>
<programlisting>root=valodiemail@minta.com
mailhub=level.minta.com
rewriteDomain=minta.com
hostname=_GEPNEV_</programlisting>
<para>A <systemitem class="username">root</systemitem> felhasználó
számára feltétlenül egy valódi
e-mail címet adjuk meg. A <systemitem class="fqdomainname">level.minta.com</systemitem> helyére az
internet-szolgáltatónk kimenő leveleket
továbbító szerverét adjuk meg
(bizonyos szolgáltatók ezt <quote>kimenő
levelező szervernek</quote> vagy <quote>SMTP
szervernek</quote> nevezik).</para>
<para>Ne felejtsük el <application>sendmail</application>
démont sem letiltani, beleértve a kimenő
levelek kezelését. Ennek részleteit
lásd a <xref linkend="mail-disable-sendmail"/>ban.</para>
<para>A <package>mail/ssmtp</package>
használatánál még adhatunk meg
további beállításokat is. A
<filename>/usr/local/etc/ssmtp</filename>
állományban vagy az <application>ssmtp</application>
man oldalán találhatunk példákat
és olvashatunk bővebben a
témáról.</para>
<para>Az <application>ssmtp</application> ilyen fajta
beállításával a
számítógépünkön levő
szoftverek is helyesen fognak működni, miközben nem
sértjük meg az internet-szolgáltató
előírásait és nem tesszük
lehetővé, hogy a
számítógépünkről
levélszemetet küldhessenek.</para>
</sect1>
<sect1 xml:id="SMTP-dialup">
<title>Levelezés betárcsázós
kapcsolattal</title>
<para>Ha statikus IP-címünk van, akkor az
alapértelmezett beállítások
tökéletesen megfelelőek számunkra.
Csupán a gépünkhöz tartozó
internetes címet kell megadnunk a gépünk
nevének és a <application>sendmail</application>
elvégzi a többit.</para>
<para>Ha viszont dinamikusan kiosztott IP-címmel
rendelkezünk és betárcsázós
<acronym>PPP</acronym> kapcsolaton keresztül csatlakozunk az
internethez, akkor valószínűleg az
internet-szolgáltató levelező szerverén
van egy postaládánk. Most tegyük fel, hogy a
internet-szolgáltató tartománya a <systemitem class="fqdomainname">szolgaltato.net</systemitem> és a
felhasználói név a
<systemitem class="username">felhasznalo</systemitem>, a gépünk neve pedig
<systemitem class="fqdomainname">otthoni.bsdm</systemitem>, valamint az
internet-szolgáltató részéről
levelezésre a <systemitem class="fqdomainname">
relay.szolgaltato.net</systemitem> gépet
használhatjuk.</para>
<para>A postaládánkból úgy tudjuk
letölteni a leveleket, ha telepítünk hozzá
egy programot. Erre a feladatra a
<application>fetchmail</application> hibátlanul alkalmas,
mivel több különböző protokollt ismer.
Ez a program csomagként vagy a
Portgyűjteményből (<package>mail/fetchmail</package>) is elérhető.
Az internet-szolgáltatók erre
általában a <acronym>POP</acronym> protokollt
ajánlják fel. Ha a felhasználói
<acronym>PPP</acronym> alkalmazást használjuk,
állítsuk be az
<filename>/etc/ppp/ppp.linkup</filename> állományt a
következő módon és így a
csatlakozáskor maguktól letöltődnek a
leveleink:</para>
<programlisting>MYADDR:
!bg su felhasznalo -c fetchmail</programlisting>
<para>Ha a <application>sendmail</application>
segítségével küldjük tovább
a leveleket a nem helyi hozzáférések
felé (ahogy azt lentebb is láthatjuk), akkor minden
bizonnyal a csatlakozáskor arra is
szükségünk lesz, hogy a leveleket
tároló sor is feldolgozódjon. Ezt úgy
oldhatjuk meg, ha az <filename>/etc/ppp/ppp.linkup</filename>
állományba a <command>fetchmail</command> parancs
után a következőt tesszük:</para>
<programlisting> !bg su felhasznalo -c "sendmail -q"</programlisting>
<para>Ez a példa feltételezi, hogy az <systemitem class="fqdomainname">otthoni.bsdm</systemitem> gépen van egy
<systemitem class="username">felhasznalo</systemitem> nevű
felhasználónk. Az <systemitem class="fqdomainname">otthoni.bsdm</systemitem> gépen a
<systemitem class="username">felhasznalo</systemitem> felhasználói
könyvtárában hozzunk létre egy
<filename>.fetchmailrc</filename> állományt:</para>
<programlisting>poll szolgaltato.net protocol pop3 fetchall pass TitkosJelszo</programlisting>
<para>Ezt az állományt csak és
kizárólag a <systemitem class="username">felhasznalo</systemitem>
olvashatja, mivel szerepel benne a hozzá tartozó
<literal>TitkosJelszo</literal>.</para>
<para>Úgy tudunk a megfelelő <literal>from:</literal>
fejléccel küldeni, ha felvilágosítjuk a
<application>sendmail</application> programot, hogy ne az
<email>felhasznalo@otthoni.bsdm</email> címet, hanem a
<email>felhasznalo@szolgaltato.net</email> címet
használja. Sőt, a gyorsítás
kedvéért a <application>sendmail</application>
számára érdemes elárulni, hogy a
<systemitem class="fqdomainname">relay.szolgaltato.net</systemitem> címen
keresztül küldjön.</para>
<para>A munka elvégzéséhez elegendő az
alábbi <filename>.mc</filename>
állomány:</para>
<programlisting>VERSIONID(`otthoni.bsdm.mc 1.0')
OSTYPE(bsd4.4)dnl
FEATURE(nouucp)dnl
MAILER(local)dnl
MAILER(smtp)dnl
Cwlocalhost
Cwotthoni.bsdm
MASQUERADE_AS(`szolgaltato.net')dnl
FEATURE(allmasquerade)dnl
FEATURE(masquerade_envelope)dnl
FEATURE(nocanonify)dnl
FEATURE(nodns)dnl
define(`SMART_HOST', `relay.szolgaltato.net')
Dmotthoni.bsdm
define(`confDOMAIN_NAME',`otthoni.bsdm')dnl
define(`confDELIVERY_MODE',`deferred')dnl</programlisting>
<para>Az előző szakaszban találhatjuk meg annak a
módját, hogy miként varázsoljunk
ebből az <filename>.mc</filename>
állományból egy
<filename>sendmail.cf</filename> állományt. A
<filename>sendmail.cf</filename> frissítése
után pedig ne felejtsük el a
<application>sendmail</application>
újraindítását!</para>
</sect1>
<sect1 xml:id="SMTP-Auth">
<info><title>Az SMTP hitelesítése</title>
<authorgroup>
<author><personname><firstname>James</firstname><surname>Gorham</surname></personname><contrib>Írta: </contrib></author>
</authorgroup>
</info>
<para>Levelező szerverünkön az
<acronym>SMTP</acronym> protokoll
hitelesítésének (<acronym>SMTP</acronym>
Authentication) engedélyezése több
szempontból is előnyökkel bír. Az
<acronym>SMTP</acronym> hitelesítésének
bekapcsolása egy újabb réteget képez a
<application>sendmail</application> védelmében,
és az olyan állandóan mozgásban
levő felhasználók számára is
megoldást nyújt, akik anélkül
képesek használni ugyanazt a levelező szervert,
hogy minden alkalommal újrakonfigurálnák a
levelező kliensüket.</para>
<procedure>
<step>
<para>Telepítsük fel a <package>security/cyrus-sasl2</package> portot. A
<package>security/cyrus-sasl2</package> port
több fordítási idejű
beállítást támogat. Itt most az
<acronym>SMTP</acronym> hitelesítését
fogjuk használni, ezért gondoskodjunk a
<option>LOGIN</option> opció
engedélyezéséről.</para>
</step>
<step>
<para>A <package>security/cyrus-sasl2</package>
telepítés után nyissuk meg
szerkesztésre a
<filename>/usr/local/lib/sasl2/Sendmail.conf</filename>
állományt (vagy ha még nem
létezne, hozzuk létre), és benne
vegyük fel a következő sort:</para>
<programlisting>pwcheck_method: saslauthd</programlisting>
</step>
<step>
<para>Ezt követően telepítsük a <package>security/cyrus-sasl2-saslauthd</package>
portot, és tegyük bele az
<filename>/etc/rc.conf</filename> állományba ezt
a sort:</para>
<programlisting>saslauthd_enable="YES"</programlisting>
<para>Végezetül indítsuk el a saslauthd
démont:</para>
<screen>&prompt.root; <userinput>/usr/local/etc/rc.d/saslauthd start</userinput></screen>
<para>Ez a démon fog közvetíteni a
<application>sendmail</application> és a &os;
<filename>passwd</filename> adatbázisa közti
hitelesítésben. Ezzel elkerülhetjük
az új felhasználói nevek és
jelszavak felvételét az <acronym>SMTP</acronym>
hitelesítés használatához,
így a hozzáférések és a
levelezés jelszava ugyanaz marad.</para>
</step>
<step>
<para>Most pedig írjuk hozzá az alábbi
sorokat az <filename>/etc/make.conf</filename>
állományhoz:</para>
<programlisting>SENDMAIL_CFLAGS=-I/usr/local/include/sasl -DSASL
SENDMAIL_LDFLAGS=-L/usr/local/lib
SENDMAIL_LDADD=-lsasl2</programlisting>
<para>Ezek a sorok állítják be a
<application>sendmail</application> számára,
hogy fordítás közben a <package>cyrus-sasl2</package> függvényeit
használja. A <application>sendmail</application>
újrafordítása előtt
mindenképpen legyen fenn a <package>cyrus-sasl2</package> port.</para>
</step>
<step>
<para>A <application>sendmail</application>
újrafordítását a
következő parancsok
végrehajtásával intézhetjük
el:</para>
<screen>&prompt.root; <userinput>cd /usr/src/lib/libsmutil</userinput>
&prompt.root; <userinput>make cleandir &amp;&amp; make obj &amp;&amp; make</userinput>
&prompt.root; <userinput>cd /usr/src/lib/libsm</userinput>
&prompt.root; <userinput>make cleandir &amp;&amp; make obj &amp;&amp; make</userinput>
&prompt.root; <userinput>cd /usr/src/usr.sbin/sendmail</userinput>
&prompt.root; <userinput>make cleandir &amp;&amp; make obj &amp;&amp; make &amp;&amp; make install</userinput></screen>
<para>A <application>sendmail</application>
fordítása esetén semmilyen
problémának nem szabadna előfordulnia,
kivéve ha a <filename>/usr/src</filename>
könyvtárat és a szükséges
osztott könyvtárakat nem változtatjuk
időközben túlságosan gyakran.</para>
</step>
<step>
<para>A <application>sendmail</application>
lefordítása és
újratelepítése után
szerkesszük át az
<filename>/etc/mail/freebsd.mc</filename>
állományt (vagy azt az <filename>.mc</filename>
állományt, amelyet éppen
használunk). Sok rendszergazda a &man.hostname.1;
parancs válaszát használja fel az
<filename>.mc</filename> típusú
állományok egyedi elnevezéséhez).
Írjuk bele a következő sorokat:</para>
<programlisting>dnl set SASL options
TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl</programlisting>
<para>Ezek állítják be a
<application>sendmail</application> számára a
felhasználók hitelesítésére
alkalmas különböző módszereket. Ha
a <application>pwcheck</application> módszer helyett
valami mást akarunk használni, akkor
járjunk utána a
dokumentációban.</para>
</step>
<step>
<para>Zárásul futassuk le a &man.make.1; parancsot
az <filename>/etc/mail</filename> könyvtárban.
Így lefut az új <filename>.mc</filename>
állományunk és létrejön egy
<filename>freebsd.cf</filename> (vagy amilyen nevet az
<filename>.mc</filename> állománynak megadtunk)
<filename>.cf</filename> állomány.
Ezután a <command>make install restart</command>
parancs kiadásával másoltassuk át
ezt a <filename>sendmail.cf</filename> helyére
és szabályosan indítassuk újra a
<application>sendmail</application>
szolgáltatást. A folyamatról
részletesebb tájékoztatást az
<filename>/etc/mail/Makefile</filename> állomány
tud nyújtani.</para>
</step>
</procedure>
<para>Ha eddig minden a legnagyobb rendben történt,
akkor most már képesek vagyunk bejelentkezési
információt is átadni a levelező
kliensnek és elküldeni egy tesztüzenetet. A
hibák kiszűréséhez
állítsuk a <application>sendmail</application>
<option>LogLevel</option> opcióját az 13
értékre és figyeljük a
<filename>/var/log/maillog</filename>
állományt.</para>
<para>További felvilágosításért
olvassuk el a <application>sendmail</application><link xlink:href="http://www.sendmail.org/~ca/email/auth.html">
<acronym>SMTP</acronym> hitelesítéssel</link>
foglalkozó oldalát (angolul).</para>
</sect1>
<sect1 xml:id="mail-agents">
<info><title>Levelező kliensek</title>
<authorgroup>
<author><personname><firstname>Marc</firstname><surname>Silver</surname></personname><contrib>Készítette: </contrib></author>
</authorgroup>
</info>
<indexterm><primary>levelező kliensek</primary></indexterm>
<para>A levelező kliens (Mail User Agent,
<acronym>MUA</acronym>) egy olyan alkalmazás, amelyik
elektronikus levelek küldésére és
fogadására használható.
Azonkívül, ahogy az e-mail
<quote>fejlődik</quote> és egyre bonyolultabbá
válik, a levelező kliensek is egyre inkább
erősebbé válnak abban a tekintetben, ahogy az
e-maileket kezelik. Ezzel együtt a
felhasználók is egyre több
lehetőséget és rugalmasságot kapnak. A
&os; számos levelező klienst támogat,
mindegyikük könnyedén telepíthető a
<link linkend="ports">&os; Portgyűjteménye</link>
segítségével. A felhasználók
választhatnak a grafikus kliensek, mint
például az <application>evolution</application> vagy
a <application>balsa</application> és a konzolos kliensek,
például a <application>mutt</application>,
<application>pine</application> vagy <command>mail</command>
között, esetleg használhatják a nagyobb
szervezetek részéről felkínált
webes felületeket is.</para>
<sect2 xml:id="mail-command">
<title>mail</title>
<para>A &man.mail.1; a &os; alapértelmezett levelező
kliense. Egy olyan konzolos alkalmazás, amelyben
elérhetjük az e-mailek küldéséhez
és fogadásához szükséges
összes alapvető funkciót, habár a
csatolmányokat csak korlátozottan képes
kezelni és csak a helyi postaládákat
kezeli.</para>
<para>Annak ellenére, hogy a <command>mail</command>
önmaga nem képes kommunikálni
<acronym>POP</acronym> vagy <acronym>IMAP</acronym>
szerverekkel, az ilyen postaládák tartalmát
egy <application>fetchmail</application>-szerű
alkalmazással (lásd <xref linkend="mail-fetchmail"/>) le tudjuk tölteni a
számára is elérhető helyi
<filename>mbox</filename> állományba.</para>
<para>A levelek küldéséhez és
fogadásához egyszerűen hívjuk be a
<command>mail</command> programot a következő
módon:</para>
<screen>&prompt.user; <userinput>mail</userinput></screen>
<para>Ezután a <filename>/var/mail</filename> könyvtárban
található felhasználói
postaládánk tartalmát automatikusan
beolvassa a <command>mail</command> segédprogram. Ha a
postaláda üres, akkor a program egyből befejezi
futását és közli, hogy nem
talált levelet. Amikor viszont tudott beolvasni
leveleket, megjelenik egy felület, ahol a beérkezett
üzenetek listáját láthatjuk. Az
üzenetek automatikusan sorszámozódnak, ahogy
ezt az alábbi példa is szemlélteti:</para>
<screen>Mail version 8.1 6/6/93. Type ? for help.
"/var/mail/marcs": 3 messages 3 new
&gt;N 1 root@localhost Mon Mar 8 14:05 14/510 "proba"
N 2 root@localhost Mon Mar 8 14:05 14/509 "felhasznaloi hozzaferes"
N 3 root@localhost Mon Mar 8 14:05 14/509 "minta"</screen>
<para>Az üzenetek olvasásának a
<keycap>t</keycap> paranccsal kezdhetünk neki, amelyet az
elolvasandó üzenet sorszáma követ.
Ebben a példában az első e-mailt nyitjuk
meg:</para>
<screen>&amp; <userinput>t 1</userinput>
Message 1:
From root@localhost Mon Mar 8 14:05:52 2004
X-Original-To: marcs@localhost
Delivered-To: marcs@localhost
To: marcs@localhost
Subject: proba
Date: Mon, 8 Mar 2004 14:05:52 +0200 (SAST)
From: root@localhost (Charlie Root)
Ezt az uzenetet probabol kuldom, valaszolj ra, ha megkaptad.</screen>
<para>Ahogy az a fenti példából is
látszik, a <keycap>t</keycap> billentyű
hatására az üzenet a teljes
fejlécével együtt jelenik meg. Az
üzenetek listáját a <keycap>h</keycap>
billentyűvel hozhatjuk vissza.</para>
<para>Ha egy levélre válaszolni szeretnénk,
akkor ezt a <command>mail</command> paranccsal is
megtehetjük, vagy az <keycap>R</keycap> vagy az
<keycap>r</keycap> parancsokkal. Az <keycap>R</keycap> arra
utasítja a <command>mail</command> programot, hogy csak
az üzenet küldőjének válaszoljon,
míg az <keycap>r</keycap> hatására nem
csupán a küldő, hanem az üzenet
összes címzettje megkapja a válaszunkat. A
parancshoz hozzátűzhetjük egy levél
sorszámát is, ekkor az adott levélre fogunk
válaszolni. Miután kiadtuk a parancsot,
írjuk meg a válaszunkat és új sorban
kezdve zárjuk le az üzenetet egyetlen
<keycap>.</keycap> beírásával. Valahogy
így:</para>
<screen>&amp; <userinput>R 1</userinput>
To: root@localhost
Subject: Re: proba
<userinput>Koszonom, megkaptam a leveledet.
.</userinput>
EOT</screen>
<para>Új levelet az <keycap>m</keycap>
segítségével tudunk küldeni, ami
után meg kell adnunk a címzettet. Egyszerre
több címzettet is meg tudunk adni, ha a
címzett helyén címeiket egy
<keycap>,</keycap> karakterrel elválasztva soroljuk fel.
Ezután a levél témája is
megadható, amit végül a levél
szövege követ. Az üzenetet egy új sorban
megadott egyetlen <keycap>.</keycap>
segítségével zárhatjuk le.</para>
<screen>&amp; <userinput>mail root@localhost</userinput>
Subject: <userinput>Elsajatitottam a mail hasznalatat
Most mar en is tudok levelet irni es fogadni a mail hasznalataval... :)
.</userinput>
EOT</screen>
<para>Amikor a <command>mail</command> segédprogramban
vagyunk, a <keycap>?</keycap> használatával
bármikor segítséget kérhetünk,
valamint a <command>mail</command>
működésével kapcsolatban a &man.mail.1;
man oldalát érdemes felkeresni.</para>
<note>
<para>Ahogy azt már korábban is
említettük, a &man.mail.1; parancsot eredetileg
nem készítették fel az csatolt
állományok kezelésére,
ezért igen gyengén bánik velük. Az
újabb levelező kliensek, mint
például a <application>mutt</application>, a
csatolt állományokat sokkal intelligensebb
módon kezelik. Ha viszont ragaszkodunk a
<command>mail</command> használatához, akkor a
<package>converters/mpack</package> port
használatát érdemes megfontolnunk.</para>
</note>
</sect2>
<sect2 xml:id="mutt-command">
<title>mutt</title>
<para>A <application>mutt</application> apró mérete
ellenére egy igen komoly levelező kliens és
remek lehetőségeket ajánl fel. Íme
ízelítésképpen
közülük néhány:</para>
<itemizedlist>
<listitem>
<para>Képes az üzeneteket szálakba
rendezni</para>
</listitem>
<listitem>
<para>Az e-mailek titkosítására és
elektronikus aláírására
támogatja a PGP használatát</para>
</listitem>
<listitem>
<para>MIME támogatás</para>
</listitem>
<listitem>
<para>Maildir támogatás</para>
</listitem>
<listitem>
<para>Nagyfokú testreszabhatóság</para>
</listitem>
</itemizedlist>
<para>Ezen lehetőségei révén a
<application>mutt</application> ez egyik legfejlettebb
levelező kliens. A <application>mutt</application>
részletesebb bemutatását a <uri xlink:href="http://www.mutt.org">http://www.mutt.org</uri> címen találjuk
(angolul).</para>
<para>A <application>mutt</application> stabil változata a
<package>mail/mutt</package> port
használatával telepíthető fel,
miközben a fejlesztés alatt levő
változatot a <package>mail/mutt-devel</package> port telepíti.
Miután a portot sikerült felraknunk, a
<application>mutt</application> az alábbi parancs
begépelésével indítható
el:</para>
<screen>&prompt.user; <userinput>mutt</userinput></screen>
<para>A <application>mutt</application> indulása
után automatikusan beolvassa a <filename>/var/mail</filename> könyvtárban
megtalálható felhasználói
postaládát és ha lehetséges, akkor
megjeleníti a tartalmát. Ha nincsen levél
a felhasználó postaládájában,
akkor a <application>mutt</application> a
felhasználó parancsaira vár. Ezen a
képen a <application>mutt</application>
üzenetlistája látható:</para>
<mediaobject>
<imageobject>
<imagedata fileref="mail/mutt1"/>
</imageobject>
</mediaobject>
<para>A levelek elolvasásához egyszerűen csak
válasszuk ki a kurzorral és nyomjuk meg az
<keycap>Enter</keycap> billentyűt. Ezután a
<application>mutt</application> így mutatja a
levelet:</para>
<mediaobject>
<imageobject>
<imagedata fileref="mail/mutt2"/>
</imageobject>
</mediaobject>
<para>Ahogy azt már a &man.mail.1; parancsnál is
megszokhattuk, a <application>mutt</application> is
lehetővé teszi, hogy vagy csak a küldőnek,
vagy pedig rajta kívül még az összes
címzettnek is válaszoljunk. A levél
küldőjének az <keycap>r</keycap>
lenyomásával tudunk válaszolni. A
csoportos válaszadáshoz pedig, ahol tehát a
küldőn kívül a címzettek is
megkapják a levelünket, a <keycap>g</keycap>
billentyűt kell használni.</para>
<note>
<para>A <application>mutt</application> az e-mailek
létrehozásához és
megválaszolásához a &man.vi.1;
szövegszerkesztőt használja. Ezt úgy
tudjuk átállítani, ha a
könyvtárunkban található
<filename>.muttrc</filename> állományban
átírjuk az <literal>editor</literal>
változót, vagy értéket adunk az
<envar>EDITOR</envar> környezeti
változónak. A <application>mutt</application>
beállításáról többet a
<uri xlink:href="http://www.mutt.org">http://www.mutt.org</uri> címen
tudhatunk meg.</para>
</note>
<para>Egy új levél megírásához
nyomjuk le az <keycap>m</keycap> gombot. Miután
elláttuk érvényes témával a
levelet, a <application>mutt</application> elindítja a
&man.vi.1; szövegszerkesztőt és
nekiláthatunk a levél szövegének.
Amint befejeztük, mentsük el és
lépjünk ki a <command>vi</command>
szerkesztőből. Ezután visszakapjuk a
<application>mutt</application> felületét, ahol a
küldendő e-mail összefoglalását
láthatjuk. A levelet végül az
<keycap>y</keycap> lenyomásával
küldhetjük el. Erre a következő
képen láthatunk egy példát:</para>
<mediaobject>
<imageobject>
<imagedata fileref="mail/mutt3"/>
</imageobject>
</mediaobject>
<para>A <application>mutt</application> ezenkívül
még rengeteg segítséget is tartalmaz,
amelyet a legtöbb menüből a <keycap>?</keycap>
gomb lenyomásával érhetünk el. A
felső sorban mindig láthatjuk a kiadható
parancsok rövid összefoglalását.</para>
</sect2>
<sect2 xml:id="pine-command">
<title>pine</title>
<para>A <application>pine</application> alapvetően a
kezdő felhasználók számára
íródott, de számos komolyabb
lehetőséget is támogat.</para>
<warning>
<para>A <application>pine</application> szoftverrel kapcsolatban
a múltban már rengeteg távolról
kihasználható sebezhetőség
látott napvilágot, és ennek
köszönhetően a támadók
megfelelően előkészített e-mailek
segítségével tetszőleges
kódot tudnak futtatni a rendszeren levő helyi
felhasználókon keresztül. Noha az
összes ilyen <emphasis>ismert</emphasis> hibát
javították, de a &os; biztonsági tisztje
szerint a <application>pine</application> kódját
biztonság szempontjából annyira hanyag
módon írták, hogy további, eddig
még felfedezetlen sebezhetőségeket is
magában rejt. Ennek megfelelően tehát a
<application>pine</application> használata mindenkinek
csak saját felelősségre javasolt.</para>
</warning>
<para>A <application>pine</application> jelenlegi verziója
a <package>mail/pine4</package> porton
keresztül telepíthető. A
telepítés lezajlása után a
<application>pine</application> a következő paranccsal
indítható:</para>
<screen>&prompt.user; <userinput>pine</userinput></screen>
<para>A <application>pine</application> első futtatása
során egy üdvözlő üzenetet és
egy rövid bemutatkozást jelenít meg, valamint
a <application>pine</application> fejlesztői arra
kérik a felhasználókat, hogy küldjenek
nekik egy névtelen üzenetet, amiből le
tudják szűrni mennyien használják a
kliensüket. A névtelen üzenet
elküldéséhez a <keycap>Enter</keycap>
lenyomásával járulhatunk hozzá vagy
az <keycap>E</keycap> használatával
enélkül tudunk kilépni a
képernyőről. Ezt az üdvözlő
képernyőt itt láthatjuk:</para>
<mediaobject>
<imageobject>
<imagedata fileref="mail/pine1"/>
</imageobject>
</mediaobject>
<para>A felhasználó ezután a
főmenübe kerül, ahol a kurzorbillentyűkkel
minden gond nélkül tudunk mozogni. Ebben a
főmenüben a levelek megírására, a
leveleket tároló könyvtárak
tallózására vagy éppen a
címjegyzék karbantartására
gyorsbillentyűket is használhatuk. A
főmenü alatt szerepel az adott menüben
végrehajtható feladatokhoz tartozó
gyorsbillentyűk rövid felsorolása.</para>
<para>A <application>pine</application>
alapértelmezés szerint az <filename>inbox</filename> könyvtárat nyitja
meg. A bennelévő üzenetek
listájának megtekintéséhez nyomjuk a
<keycap>I</keycap> gombot vagy válasszuk ki a lentihez
hasonló módon a <guimenuitem>MESSAGE
INDEX</guimenuitem> menüpontot:</para>
<mediaobject>
<imageobject>
<imagedata fileref="mail/pine2"/>
</imageobject>
</mediaobject>
<para>Az üzenetek listájában az adott
könyvtárban található üzenetek
láthatjuk, és köztük a
kurzorbillentyűkkel mozoghatunk. A kiemelt üzenet az
<keycap>Enter</keycap> lenyomásával
olvasható el.</para>
<mediaobject>
<imageobject>
<imagedata fileref="mail/pine3"/>
</imageobject>
</mediaobject>
<para>A lenti képen egy ilyen példa üzenetet
láthatunk a <application>pine</application> programban.
A rendelkezésünkre álló
gyorsbillentyűk ilyenkor is a képernyő
alján megjelennek referenciaként. Ilyen
gyorsbillentyű többek közt az <keycap>r</keycap>
gomb, amelynek hatására a klienssel
megválaszolhatjuk a éppen látható
üzenetet.</para>
<mediaobject>
<imageobject>
<imagedata fileref="mail/pine4"/>
</imageobject>
</mediaobject>
<para>A <application>pine</application> kliensen belül a
<application>pico</application> szövegszerkesztő
segítségével tudunk megválaszolni
egy e-mailt, amely alapból a
<application>pine</application> mellé települ. A
<application>pico</application> megkönnyíti a
navigációt az üzenetekben és sokkal
elnézőbb a kezdő felhasználókkal,
mint például a &man.vi.1; vagy a &man.mail.1;. Ha
befejeztük a választ, az üzenetet a <keycombo action="simul"><keycap>Ctrl</keycap><keycap>X</keycap></keycombo>
billentyűkombinációval tudjuk elküldeni.
A <application>pine</application> erre
megerősítést fog kérni.</para>
<mediaobject>
<imageobject>
<imagedata fileref="mail/pine5"/>
</imageobject>
</mediaobject>
<para>A <application>pine</application> alkalmazás a
főmenüből elérhető
<guimenuitem>SETUP</guimenuitem> menüpont
meghívásával szabható testre. A
további részleteket a <uri xlink:href="http://www.washington.edu/pine">http://www.washington.edu/pine</uri> oldalon
találhatjuk (angolul).</para>
</sect2>
</sect1>
<sect1 xml:id="mail-fetchmail">
<info><title>A fetchmail használata</title>
<authorgroup>
<author><personname><firstname>Marc</firstname><surname>Silver</surname></personname><contrib>Írta: </contrib></author>
</authorgroup>
</info>
<indexterm><primary>fetchmail</primary></indexterm>
<para>A <application>fetchmail</application> egy mindentudó
<acronym>IMAP</acronym> és <acronym>POP</acronym> kliens,
amely lehetővé teszi a felhasználók
számára, hogy automatikusan töltsenek le
leveleket távoli <acronym>IMAP</acronym> és
<acronym>POP</acronym> szerverekről és
lementsék azokat a helyi postaládáikba.
Így a levelek sokkal könnyebben
elérhetőek. A <application>fetchmail</application> a
<package> mail/fetchmail</package> port
segítségével telepíthető,
és számos lehetőséget ajánl fel,
többek közt:</para>
<itemizedlist>
<listitem>
<para>A <acronym>POP3</acronym>, <acronym>APOP</acronym>,
<acronym>KPOP</acronym>, <acronym>IMAP</acronym>,
<acronym>ETRN</acronym> és az <acronym>ODMR</acronym>
protokollok ismerete.</para>
</listitem>
<listitem>
<para>Képes <acronym>SMTP</acronym>
használatával levelet továbbítani,
és ennek révén a szűrés,
továbbküldés és az álnevek
használata a megszokott módon
működik.</para>
</listitem>
<listitem>
<para>Démonként futtatva képes adott
időközönként ellenőrizni a frissen
érkező üzeneteket.</para>
</listitem>
<listitem>
<para>Képes egyszerre több postaládát
is kezelni, majd ezek tartalmát a
beállításainak megfelelően
továbbküldeni a különböző
helyi felhasználóknak.</para>
</listitem>
</itemizedlist>
<para>Noha a <application>fetchmail</application> összes
lehetőségének aprólékos
bemutatása meghaladná ennek a
leírásnak a kereteit, azért szót
kerítünk néhány alapvető
funkciójára. A <application>fetchmail</application>
segédprogramnak a megfelelő
működéshez egy <filename>.fetchmailrc</filename>
nevű konfigurációs állományra van
szüksége. Ez az állomány tárolja
a szerverekre vonatkozó, valamint a bejelentkezéshez
szükséges információkat. Az
állomány kényes tartalmára tekintettel
azt javasoljuk, hogy csak a tulajdonosának
engedélyezzük az olvasását:</para>
<screen>&prompt.user; <userinput>chmod 600 .fetchmailrc</userinput></screen>
<para>Az alább ismertetésre kerülő
<filename>.fetchmailrc</filename> állományban azt
láthatjuk, ahogy egyetlen felhasználó
postaládáját érjük el a
<acronym>POP</acronym> protokoll használatával.
Arra utasítja a <application>fetchmail</application>
programot, hogy csatlakozzon a <systemitem class="fqdomainname">levelezes.com</systemitem> címre a
<systemitem class="username">joska</systemitem> felhasználóval és
az <literal>XXX</literal> jelszóval. Ebben a
példában feltételezzük, hogy a
<systemitem class="username">joska</systemitem> nevű felhasználó
létezik a rendszerünkben is.</para>
<programlisting>poll levelezes.com protocol pop3 username "joska" password "XXX"</programlisting>
<para>A következő példában több
<acronym>POP</acronym> és <acronym>IMAP</acronym>
szerverhez csatlakozunk és ahol lehet, több helyi
felhasználónak irányítjuk át a
leveleket:</para>
<programlisting>poll levelezes.com proto pop3:
user "joska", with password "XXX", is "jozsi" here;
user "andrea", with password "XXXX";
poll levelezes2.net proto imap:
user "jani", with password "XXXXX", is "hardstuff" here;</programlisting>
<para>A <application>fetchmail</application> program a
<option>-d</option> beállítás
megadásával démonként is
elindítható, amely után meg kell adni
(másodpercekben) azt az időközt, aminek
elteltével a <application>fetchmail</application>
lekérdi a <filename>.fetchmailrc</filename>
állományban felsorolt szervereket. Az alábbi
példában a <application>fetchmail</application>
600&nbsp;másodpercenként kéri el a
leveleket:</para>
<screen>&prompt.user; <userinput>fetchmail -d 600</userinput></screen>
<para>A <application>fetchmail</application> további
lehetőségeiről és
működéséről a <uri xlink:href="http://fetchmail.berlios.de/">http://fetchmail.berlios.de/</uri> oldalon olvashatunk
(angolul).</para>
</sect1>
<sect1 xml:id="mail-procmail">
<info><title>A procmail használata</title>
<authorgroup>
<author><personname><firstname>Marc</firstname><surname>Silver</surname></personname><contrib>Írta: </contrib></author>
</authorgroup>
</info>
<indexterm><primary>procmail</primary></indexterm>
<para>A <application>procmail</application> segédprogram egy
hihetetlenül erős alkalmazás, mellyel a
beérkező leveleinket tudjuk szűrni. A
felhasználók számára olyan
<quote>szabályok</quote> megadását teszi
lehetővé, amelyekre aztán a rendszer illeszti a
bejövő leveleket, és az eredménynek
megfelelően elvégez bizonyos feladatokat vagy
átirányítja a levelet más
postaladákba és/vagy e-mail címekre. A
<application>procmail</application> a <package>mail/procmail</package> porttal
telepíthető fel. Miután ez sikerült,
akár közvetlenül be is
építhetjük a legtöbb levelező
kliensbe. Erről az adott levelező kliens
dokumentációjában olvashatunk többet. A
<application>procmail</application> úgy is
integrálható, ha a felvesszük a
következő sort a <application>procmail</application>
szolgáltatára igényt tartó
felhasználó könyvtárában
található <filename>.forward</filename>
állományba:</para>
<programlisting>"|exec /usr/local/bin/procmail || exit 75"</programlisting>
<para>A következő szakaszban láthatjuk a
<application>procmail</application> néhány
alapvető szabályát, valamint ezek rövid
leírását. Ezeket a szabályokat a
<filename>.procmailrc</filename> állományba kell
beleírni, amely szintén a felhasználó
könyvtárában leledzik.</para>
<para>Ezen szabályok többsége a
&man.procmailex.5; man oldalon is olvasható.</para>
<para>A <email>felhasznalo@levelezes.com</email> címről
érkező leveleket irányítsuk át a
<email role="nolink">jocim@levelezes2.com</email> külső
címre:</para>
<programlisting>:0
* ^From.*felhasznalo@levelezes.com
! jocim@levelezes2.com</programlisting>
<para>Minden 1000 byte-nál kisebb levelet küldjünk
át a <email role="nolink">jocim@levelezes2.com</email>
külső címre:</para>
<programlisting>:0
* &lt; 1000
! jocim@levelezes2.com</programlisting>
<para>Küldjük át az összes
<email>masik@levelezes.com</email> címre küldött
levelet a <filename>masik</filename>
postaládába:</para>
<programlisting>:0
* ^TOmasik@levelezes.com
masik</programlisting>
<para>Küldjük az összes olyan levelet a
<filename>/dev/null</filename> eszközre, amelyek a
témájában szerepel a <quote>Spam</quote>
szó:</para>
<programlisting>:0
^Subject:.*Spam
/dev/null</programlisting>
<para>Egy hasznos szabály, amellyel el tudjuk kapni a <systemitem class="fqdomainname">&os;.org</systemitem> levelezési
listáiról érkező leveleket és el
tudjuk raktározni ezeket a saját
postaládájukba:</para>
<programlisting>:0
* ^Sender:.owner-freebsd-\/[^@]+@FreeBSD.ORG
{
LISTNAME=${MATCH}
:0
* LISTNAME??^\/[^@]+
FreeBSD-${MATCH}
}</programlisting>
</sect1>
</chapter>