Portál AbcLinuxu, 2. května 2025 21:03
Dokončení návodu ke konfiguraci vlastního SMTP serveru - poštovního systému sestávajícího z programů Exim a fetchmail.
Originál (Ben Okopnik: Setting up the mail subsystem in Linux) vyšel na serveru Linux Gazette. Přeložil Robert Krátký.
Pokračování článku z minulého týdne.
Až to bude hotovo - a až se začneme zabývat tím, co dalšího je třeba v těchto dvou různých případech udělat - budeme muset nastavit přepisování adres. Vaše adresa je přeci jen systémem viděna jako "uživatel@hostitel", a pokud nemáte vlastní doménu, nebude to platná internetová adresa. S Eximem to naštěstí není složité.
Nejprve upravíme soubor /etc/exim/exim.conf
a do 6. části (REWRITE CONFIGURATION
) přidáme následující:
*@localhost ${lookup{$1}lsearch{/etc/email-addresses}\
|
To prohledá soubor, ve kterém jsou zadána pravidla pro přepisování adres, a podle nutnosti adresy změní. V některých případech už exim.conf
podobnou řádku bude obsahovat - pak se pouze ujistěte, že je vše, především Ffsr
(což přepisuje hlavičky Envelope-from
, From:
, Sender:
a Reply-to:
), zapsáno správně. Jako další upravíme - překvapení! - /etc/email-addresses
a přidáme záznam pro každého z uživatelů.
# Root by nikomu ven maily posílat neměl, ale co kdyby...
|
A je to. Narozdíl od sendmailu není potřeba znovuvytvářet databáze; soubor je čten "za běhu". Jeden z důvodů, proč mám rád Exim, je ten, že jeho konfigurační soubor je hojně komentován. Také soubor /usr/share/doc/exim/spec.txt.gz
je kompletním (a velmi obsáhlým) manuálem, který dopodrobna popisuje každou maličkost při konfiguraci.
Pokud se rozhodnete pro možnost se "smarthost", máte v tuto chvíli hotovo. Přeskočte na část "Testování". Jestli jste však typ "udělej si sám" tak jako já, je třeba toho napsat ještě o trochu víc: protože teď neseme zodpovědnost za dopravení mailu na místo určení, musíme také ošteřit možnost, že doručení selže (tj. přijímající hostitel nebo router někde po cestě nefunguje, na chvíli se přeruší připojení k internetu, atd.). Většina z těchto věcí je již dobře nastavena, ostatně jako v každém lepším MTA, ale doplnil jsem jednu věc, která omezí množství "e-mailů o problémech" od Eximu (těch, které vám posílá coby administrátorovi) téměř na nulu: do první části /etc/exim/exim.conf
přidejte následující řádek:
auto_thaw = 5m
|
Kdykoliv je zpráva Eximem označena jako "frozen" - zmrazená (nedoručitelná), tohle ji po pěti minutách "rozpustí" (pokusí se o opětovné doručení). Protože většina selhání je pouze dočasných, podaří se díky tomuto nastavení "protlačit" zprávy téměř vždy - pokud uživatel i doména existují.
A mimochodem. Teď když už jste velkej a tvrdej poštovní administrátor... :), co přesně máte dělat? Vlastně ani moc ne. Rozhodujte se, co provedete se zprávami o problémech (když vás Exim upozorní, že něco uvízlo ve frontě, spusťte program mailq
, který vám ukáže, co to je, a podívejte se log souboru pomocí exim -Mvl <message_id>
), nové uživatele přidávejte do /etc/email-addresses
a reagujte na upozornění o problémech nebo spamu od dalších lidí. Abyste se s programem trochu seznámili, přečtěte si manuálovou stránku "exim". A to je asi všechno. Zkušení poštovní administrátoři velkých systémů se asi vyděsí k smrti a budou se přede mnou zaklínat, ale pro jeden stroj nebo malou LAN už víc potřeba není. Jakmile je jednou řádně nastaven, stane se z mailového systému pozoruhodně bezproblémový tvor, kterému se rány většinou hojí samy.
Exim má několik vestavěných testovacích režimů. Jeden z nich se bude velmi hodit. Potřebujeme hlavně otestovat, jestli správně fungují naše pravidla pro přepis adres - a je to snadné:
Baldur:~$ exim -brw ben
|
Vyzkoušejte to s holým uživatelskýmn jménem "uživatel@localhost" a "uživatel@hostitel"; oboje by mělo být správně přepsáno. Také to vyzkoušejte s libovolnou platnou internetovou adresou - abyste se ujistili, že nebude změněna.
Až bude všechno tohle fungovat, bude váš systém rozumně nakonfigurován (základní nastavení v distribucích, které jsem zatím viděl, bývají celkem dobrá). Vyzkoušejte to dále tím, že si sami sobě pošlete e-mail, pak se podívejte na hlavičky. From:
a Reply-to:
(je-li nastaveno) by se měly shodovat s vaší platnou internetovou adresou, ne vaším uživatelským jménem. Tady je příklad (skutečné adresy/IP byly, stejně jako ve zbytku článku, změněny, aby je neodchytly spamboty. Nažer se falešných adres, spammerská špíno!):
Třeba v Muttu:
From: "Benjamin A. Okopnik" <ben@localhost>
|
Všimněte si, že v lokálním klientovi je adresa From:
lokální. Teď, když máte skutečný mailový systém, mohli byste to jednoduše udělat i z příkazové řádky:
mail -s "Rewrite test" meda@medvedi.com
|
Ať tak nebo tak, teď jsme to poslali a až to dostaneme zpátky - hle!
Date: Tue, 30 Apr 2002 03:47:19 -0400
|
Když se podíváte na hlavičky (v Muttu stiskněte "h"), uvidíte následující:
From ben Tue Apr 30 03:48:15 2002
|
Routovací informace čtené odspoda nahoru říkají: Exim dostal zprávu ode mě, přepsal hlavičku a medvedi.com to dostalo od Eximu, takže všechno proběhlo správně. To znamená, že to, co říká můj MTA, ostatní správně rozpoznají. Kdyby e-mail zmizel, podíval bych se do /var/log/exim/mainlog
, abych zjistil, co přesně se s ním stalo - případně do fronty, jestli tam neuvízl. Ale vypadá to, že všechno funguje správně.
Pokud jste to dotáhli až sem - gratuluji. Stali jste se aktivními uživateli internetu, těmi, kdo věnují trochu času a úsilí tomu, aby internet fungoval ještě o něco lépe - a je mi potěšením s vámi sdílet IP prostor.
Hodně štěstí a šťastné linuxování!
Copyright (c) 2003 Ben Okopnik. Tento materiál může být distribuován pouze v souladu s podmínkami a ustanoveními danými Open Publication License (otevřená publikační licence) v 1.0 nebo pozdější (poslední verze je v současné době dostupná na http://www.opencontent.org/openpub/).
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.