GNU/Linux >> Znalost Linux >  >> Panels >> Webmin

Poštovní server Sendmail

Na této stránce je uveden základní úvod do e-mailu, následovaný popisem poštovního serveru Sendmail a modul Webmin pro jeho konfiguraci.

Konfigurační modul Sendmail

Sendmail je dnes nejpopulárnější MTA používaný na internetu, a to od doby, kdy byl poprvé vyvinut. Je standardně součástí téměř všech variant operačního systému Unix a na všech funguje stejně. Má mnoho užitečných funkcí pro směrování a zpracování e-mailů, jako jsou aliasy, směrování domény a uživatelsky vytvořené soubory přeposílání.

Sendmail má mapování one-to-one mezi uživateli Unixu a poštovními schránkami. Každý uživatel má svůj vlastní poštovní soubor, obvykle v adresáři /var/mail nebo /var/spool/mail. Pokaždé, když je uživateli doručena zpráva, je připojena k souboru se stejným jménem jako uživatel v daném adresáři, například /var/mail/jcameron. Sendmail nemá žádný koncept 'uživatelů pošty' - pokud chcete vytvořit novou poštovní schránku, budete muset přidat nového uživatele Unixu, jak je vysvětleno v části Uživatelé a skupiny.

Sendmail může přijímat e-maily dvěma různými způsoby - buď z SMTP připojení, nebo jiným programem, který vyvolá příkaz sendmail se správnými parametry a pošle mu e-mail jako vstup. V obou případech je zpráva buď doručena do poštovní schránky místního uživatele, nebo odeslána do jiného systému. Jak byste očekávali, pokud proces serveru Sendmail neběží, není možné, aby byl e-mail odeslán do vašeho systému přes SMTP. Kromě toho nebude doručen žádný e-mail ve frontě.

Primární konfigurační soubor Sendmailu se správně jmenuje sendmail.cf a nachází se v adresáři /etc nebo /etc/mail. Kromě toho existují samostatné textové soubory a soubory ve formátu DBM pro místní domény, aliasy pro přeposílání pošty, mapování adres a další funkce, o kterých se budeme bavit dále v této kapitole. Téměř všechny tyto dodatečné soubory jsou ve skutečnosti ve formátu databáze Unix DBM, ale jsou sestaveny z odpovídajícího textového souboru, který může správce systému (a Webmin) upravovat. Sendmail však pouze čte soubory DBM a znovu je kontroluje pro každou přijatou zprávu, takže jakákoli změna v jednom z databázových souborů bude okamžitě aktivní.

Chcete-li nastavit Sendmail pomocí Webmin, budete muset navštívit modul Konfigurace Sendmail, který najdete v kategorii Servery. Za předpokladu, že máte nainstalovaný server, bude hlavní stránka modulu vypadat jako v příkladu uvedeném níže.

Hlavní obrazovka poštovního serveru Sendmail

Pokud modul nemůže najít program serveru Sendmail nebo primární konfigurační soubor ve vašem systému, zobrazí se místo toho chybová zpráva. Zkontrolujte své distribuční CD nebo web Linuxu, zda neobsahuje balíček sendmail, a nainstalujte jej pomocí modulu Softwarové balíčky. Pokud jsou k dispozici další balíčky, jejichž názvy začínají na sendmail- (jako sendmail-cf nebo sendmail-docs), nainstalujte je také.

K této chybě může dojít také v nepravděpodobném případě, že jste nainstalovali Sendmail nebo jeho konfigurační soubor do jiného umístění, než které modul očekává. Ve výchozím nastavení předpokládá, že budete používat balíčky dodávané s operačním systémem, ale ty jsou často zastaralé. Z tohoto důvodu jste možná zkompilovali a nainstalovali nejnovější verzi do jiného adresáře. Pokud ano, podívejte se na Konfigurace konfiguračního modulu Sendmail v níže uvedené části, kde najdete pokyny, jak změnit cestu k programu a konfiguračnímu souboru.

Sendmail prošel v průběhu let mnoha různými verzemi a za tu dobu se změnil jeho primární konfigurační soubor (obvykle se nachází v /etc/sendmail.cf). Pokud používáte velmi starou verzi nebo používáte starý konfigurační soubor, na hlavní stránce modulu se zobrazí chybová zpráva oznamující, že formát souboru není podporován. Konfigurace starší než verze 7 spouštějí tuto chybu, ale naštěstí se na moderních unixových systémech vyskytují jen zřídka.

Pokud se na hlavní stránce nezobrazí žádné chybové hlášení, zobrazí se tabulka ikon zobrazená na obrázku výše. Na každý lze kliknout pro přístup k jedné z funkcí Sendmailu, jako je aliasing pošty, směrování domény nebo fronta pošty. Zbytek této kapitoly vysvětluje, jak používat stránky a formuláře pod každou z ikon. Vedle názvu každé ikony (například Mapování adres ) je interní název konfigurační funkce Sendmail v hranatých závorkách, kterou ovládá, jako například virtuser. Tyto názvy jsou většinou užitečné pro zkušené administrátory, kteří chtějí vědět, jaký vztah mají ikony v modulu ke skutečným konfiguračním souborům a direktivám.

Po kliknutí na některé ikony se může zobrazit zpráva jako *Vaše konfigurace Sendmailu nemá povolenou funkci mapování adres (virtuser)*. Na mnoha operačních systémech nemá primární konfigurační soubor Sendmail ve výchozím nastavení aktivované všechny dostupné funkce. Chcete-li zpřístupnit stránky vybrané ikony, postupujte podle pokynů v části *Přidání funkcí Sendmail pomocí M4* dále v této kapitole.

Pokud je spuštěn proces serveru Sendmail, tlačítko označené Zastavit Sendmail se objeví ve spodní části hlavní stránky. Jak jeho název napovídá, kliknutím na toto tlačítko vypnete server, takže váš systém již nebude přijímat připojení SMTP a nebude již skenovat frontu pošty. A naopak, když Sendmail neběží Spustit Sendmail místo toho se objeví tlačítko, které lze použít ke spuštění procesu serveru.

Pokud chcete, aby Sendmail běžel neustále, použijte modul Bootup and Shutdown, aby se proces serveru spustil v době bootování. Většina balíčků bude obsahovat akční skript, který lze povolit a může být dokonce povolen ve výchozím nastavení. V opačném případě budete muset vytvořit akci, která spustí příkaz /usr/sbin/sendmail -bd -q30m při bootování.

Úprava místních domén a maskování domény

Když Sendmail obdrží e-mailovou zprávu přes připojení SMTP, musí zjistit, zda má být doručena lokálně nebo přeposlána na jiný server. To se provádí tak, že se podíváte na adresu To zprávy, konkrétně na doménovou část za znakem @. Doména je porovnána se seznamem lokálních domén, a pokud je nalezena shoda, je e-mail doručen do schránky uživatele, jehož jméno je vlevo od @ v adrese Komu. Nebo pokud žádný takový uživatel neexistuje, vygeneruje se bounce zpráva a odešle se zpět původnímu odesílateli.

Pokud doména není lokální, Sendmail vyhledá poštovní server pro doménu a pokusí se k němu připojit, aby zprávu přenesl. To se obvykle stane, když se klient ve stejné síti připojí k odeslání e-mailu. Problém však nastane, pokud se Sendmail pokusí připojit zpět k sobě samému, což se může stát, pokud DNS říká, že jde o poštovní server pro doménu, která není na seznamu místních domén. Pokud k tomu dojde, odesilateli bude odeslána zpětná zpráva obsahující text, jako jsou smyčky pošty zpět ke mně.

Ve výchozím nastavení tento seznam místních domén obsahuje pouze úplný název hostitele vašeho systému, například server.example.com . Pokud nastavujete server pro příjem e-mailů z internetu pro nějakou doménu (například example.com ), bude nutné jej přidat do seznamu. Kroky k tomu jsou:

  1. Na hlavní stránce modulu klikněte na Místní domény ikona. Zobrazí se stránka obsahující textové pole, ve kterém jsou uvedeny všechny aktuální lokální domény.
  2. Přidejte do seznamu libovolný počet dalších názvů domén nebo hostitelů, jeden na řádek. Je docela možné, že server přijme poštu pro několik domén, zejména pokud bude použit pro virtuální hosting. Jak je vysvětleno v úvodu, pošta bude do vašeho systému odeslána pouze v případě, že pro každou doménu existuje vhodný MX DNS záznam.
  3. Klikněte na tlačítko Uložit tlačítko v dolní části stránky, aby byly aktivní.

Sendmail bude vždy přijímat pro místní doručování e-mailové zprávy, ve kterých adresa Komu neobsahuje doménu, pouze uživatelské jméno. Ty jsou často odesílány programy běžícími na samotném systému, jako je démon Cron nebo příkaz mail.

Druhou stranou seznamu lokálních domén je maskování domén. Tato funkce Sendmail vám umožňuje nastavit doménu, která se přidá k e-mailu odesílanému z vašeho systému, když není zadána žádná, například příkazem mail. Je také možné nechat Sendmail upravit domény adresy odesílatele zpráv přijatých přes SMTP, jako jsou zprávy odesílané poštovními klienty.

Chcete-li nastavit maskování domény, postupujte takto:

  1. Na hlavní stránce modulu klikněte na Masquerading domény ikona.
  2. Vyplňte Masquerade as domain pole s názvem domény, která by měla být připojena k odchozím adresám, kterým chybí jedna, například example.com . Pokud pole zůstane prázdné, Sendmail neprovede žádnou změnu domény.
  3. Chcete-li, aby Sendmail přepsal adresy odesílatele zpráv z jiných domén, vyplňte Domény, které mají být maskovány pole. To může být užitečné, pokud někteří poštovní klienti, kteří odesílají zprávy přes váš server, trvají na použití nesprávné domény.
  4. Klikněte na tlačítko Uložit tlačítko pro aktivaci maskování.

Na většině poštovních serverů se nemusíte obtěžovat konfigurováním maskování, protože veškerá pošta je odesílána klientskými programy pomocí SMTP. Všichni poštovní klienti umožňují uživateli zadat úplnou adresu odesílatele, která by měla obsahovat správnou doménu.

Správa e-mailových aliasů

Poštovní alias určuje, že e-maily přijaté vaším serverem pro konkrétní poštovní schránku by měly být místo toho předány jinému cíli. Tímto cílem může být jiná e-mailová adresa, soubor adres, místní soubor nebo dokonce vstup do programu. Mohou být užitečné pro nastavení pseudo e-mailových schránek, které skutečně odesílají e-maily skutečné osobě, jako je [email protected] nebo [email protected] . Alias ​​může mít stejné jméno jako uživatel Unixu, v takovém případě zachytí veškerou poštu tomuto uživateli a přepošle ji na jiné místo.

Na většině operačních systémů má Sendmail ve výchozím nastavení pro uživatele systému definováno několik aliasů, jako je bin, none a uucp, které všechny přeposílají poštu rootovi. K dispozici bude také alias správce pošty, který musí mít každý poštovní server a který by měl předávat zprávy někomu odpovědnému za poštovní server. Obvykle to bude také uživatel root.

Chcete-li vytvořit svůj vlastní e-mailový alias pomocí Webmin, postupujte takto:

  1. Na hlavní stránce modulu klikněte na Poštovní aliasy ikona. Dostanete se na stránku se seznamem všech existujících aliasů a jejich cílů, s formulářem v horní části pro přidání nového. Níže uvedený snímek obrazovky ukazuje příklad.
  2. V části Adresa pole Vytvořit alias zadejte jméno uživatele nebo poštovní schránky pro tento alias (část adresy vlevo od znaku @). Pokud váš server hostí více domén, alias přepošle e-maily odeslané na zadané jméno v kterékoli z těchto domén. Pokud například váš server přijímá poštu pro foo.com a bar.com , pak alias nazvaný prodej přepošle e-mail na oba [email protected] a [email protected] . Pokud chcete mít možnost přeposílat stejný název poštovní schránky ve více doménách odlišně, podívejte se níže na sekci s názvem *Správa mapování virtuálních adres*.
  3. Za předpokladu, že skutečně chcete, aby tento alias používal Sendmail, ponechte Povoleno? pole nastaveno na Ano . Změna na Ne způsobí, že alias bude ignorován. Toto pole lze použít při úpravě aliasu k dočasnému vypnutí, nikoli k jeho úplnému odstranění.
  4. Alias ​​pro pole určuje, kam bude e-mail na tento alias odeslán. V nabídce jsou k dispozici následující možnosti:
    <Žádné>
    S přijatým e-mailem nebude provedeno vůbec nic. Nemá smysl vybrat tuto možnost při vytváření nového aliasu.
    E-mailová adresa
    E-mail bude předán uživateli nebo na adresu zadanou do sousedního pole. Dávejte pozor, abyste nenastavili smyčku přesměrování opětovným zasláním e-mailu zpět na adresu aliasu! Pokud vytváříte alias, který má stejné jméno jako uživatel Unixu a opravdu chcete, aby byly e-maily doručovány do jeho poštovní schránky, stejně jako do některých dalších cílů, zadejte uživatelské jméno, kterému předchází zpětné lomítko (například \jcameron ) do tohoto oboru. Zpětné lomítko říká Sendmailu, aby vynechal kontrolu aliasu.
    Adresy v souboru
    E-mail na alias bude odeslán na všechny adresy v textovém souboru, jejichž cesta k souboru je zadána do sousedního textového pole. Každá adresa musí být na samostatném řádku. Tato možnost může být užitečná pro vytvoření jednoduchého mailing listu a aliasy tohoto typu používá správce konferencí Majordomo (pokrytý MajordomoListManager).
    Zapsat do souboru
    Úplný text včetně všech hlaviček e-mailu přijatého aliasem bude připojen k souboru, jehož cestu zadáte do textového pole.
    Podat do programu
    Spustí se program, jehož cestu a parametry zadáte do textového pole, a jako vstup se do něj vloží plný text včetně všech hlaviček e-mailů přijatých aliasem. Tento druh aliasu je nejužitečnější pro programátory, kteří chtějí provádět vlastní zpracování nebo filtrování e-mailových zpráv. Program je obvykle spuštěn jako unixový uživatelský démon, nikoli root nebo uživatel se stejným jménem jako alias.
    Automatická odpověď ze souboru
    Když je e-mail odeslán na alias, obsah souboru zadaného v sousedním textovém poli bude odeslán zpět původnímu odesílateli. Další informace o používání aliasů tohoto typu naleznete v části *Vytvoření aliasů s automatickými odpověďmi* níže.
    Použít soubor filtru
    E-mail odeslaný na alias bude zpracován podle pravidel v souboru filtru zadaného do textového pole, které může přeposílat na různá místa v závislosti na obsahu zprávy. Další podrobnosti naleznete v části *Vytvoření aliasů filtru* dále v kapitole. Je možné, že alias má více cílů. Chcete-li přidat více než jeden, budete muset tento alias po uložení znovu upravit a vyplnit řádek vybráno v dolní části Alias ​​to stůl.
  5. Klikněte na Uložit aby byl alias přidán do seznamu a okamžitě aktivován.


Seznam poštovních aliasů

Jak je ve Webminu obvyklé, můžete upravit existující alias kliknutím na jeho název v seznamu na stránce Poštovní aliasy. Tím se zobrazí editační formulář, který obsahuje všechna stejná pole jako formulář pro vytvoření, ale má možnost Uložit a Smazat tlačítka ve spodní části. První z nich aktualizuje alias se všemi změnami, které jste provedli, zatímco druhý jej trvale odstraní.

Pokud má uživatel Unixu ve svém domovském adresáři soubor s názvem .forward, budou e-maily, které by normálně byly doručeny do jeho poštovního souboru, odeslány na adresy uvedené v souboru .forward. V mnoha ohledech jsou tyto soubory ekvivalentní aliasům, které mohou vytvářet jednotliví uživatelé namísto správce systému. Je dokonce možné, že soubor .forward obsahuje položky, které říkají Sendmailu, aby poslal e-mail na seznam adres v jiném souboru, vložil jej do programu jako vstup nebo jej přidal k souboru.

Tento modul však nepodporuje úpravy souborů .forward. Usermain však umožňuje normálním uživatelům upravovat své vlastní soubory pro předávání pomocí webového rozhraní téměř identického s tím, které je popsáno v této části.

Konfigurace přenosu

V počátcích internetu mohly poštovní servery bezpečně doručovat poštu do lokálních domén a předávat všechny ostatní e-maily jinému MTA, bez ohledu na jeho zdroj. Povolení vašeho serveru přeposílat jakýkoli e-mail, který obdrží, je dnes pozvánkou pro spammery, aby váš systém používali jako přenos. Dobře nakonfigurovaný server by měl přijímat pouze e-maily pro nelokální domény od důvěryhodných klientských hostitelů, jako jsou ti ve firemní síti nebo domácí LAN. E-maily odeslané na místní domény jsou bezpečné a lze je přijímat odkudkoli.

Pokud je Sendmail ve vašem systému otevřený přenos (ten, který přijímá nelokální e-maily odkudkoli), lidé, kteří rozesílají miliony spamových e-mailových zpráv, jej mohou použít k zakrytí stop. I když provozujete malý poštovní server pro malou společnost, o které si myslíte, že se o něm žádný spammer nikdy nedozví, stále je velmi špatný nápad ponechat váš systém otevřený přenosu.

Z tohoto důvodu jsou balíčky Sendmail, které přicházejí s moderními distribucemi Linuxu, ve výchozím nastavení nakonfigurovány tak, aby zabránily serveru přijímat nelokální e-maily odkudkoli kromě stejného systému. Pokud nastavujete poštovní server pro společnost nebo pro vaši domácí LAN, budete muset povolit ostatním hostitelům předávat poštu také:

  1. Na hlavní stránce modulu klikněte na Relay Domains ikonu pro vyvolání formuláře pro zadání přenosových sítí a domén.
  2. V části Domény, na které se přenáší je povoleno, přidejte adresu sítě, ze které chcete klientům povolit přenos. Mělo by být zadáno bez jakýchkoli koncových nul, například 192.168.1 . Lze zadat více než jednu síť, stejně jako konkrétní IP adresy. Můžete také zadat názvy domén jako foo.com že Sendmail umožní přenos do. Každá přijatá e-mailová zpráva (bez ohledu na její zdroj), která je určena pro určitou doménu, bude doručena na příslušný server. To může být užitečné, pokud je váš systém poštovní bránou pro jiné domény, na které se zbytek Internetu nemůže přímo dostat, jak je vysvětleno v části *Konfigurace směrování domény*.
  3. Klikněte na tlačítko Uložit pro aktivaci nového seznamu přenosových domén.

Jedním z vedlejších efektů omezení přenosu Sendmailu je, že neexistuje způsob, jak použít váš systém jako server pro odchozí e-maily, když se připojujete z nedůvěryhodné sítě – ve skutečnosti je to celé. Někdy to však může být nepříjemné, například pokud vytáčíte mnoho různých ISP a nechcete překonfigurovat poštovního klienta tak, aby pro každého používal jiný server odchozí pošty. V ideálním světě by bylo možné používat svůj vlastní poštovní server pro odchozí e-maily bez ohledu na to, odkud se připojujete, ale bez úplného vypnutí omezení přenosu je to normálně nemožné.

Nejlepším řešením tohoto problému je ověřování SMTP, při kterém se klienti přihlašují do Sendmailu před odesláním e-mailu. Bohužel Webmin zatím nemá žádný snadný způsob, jak to nastavit. Jiné řešení zahrnuje důvěřující klienty, kteří navazují připojení POP3 před SMTP, což většina programů poštovních klientů dělá. To však vyžaduje spolupráci mezi serverem POP3 a Sendmail, což jsou obvykle nesouvisející programy. V době psaní tohoto článku Webmin také nepodporuje jeho konfiguraci.

Správa mapování virtuálních adres

Mapování adres je podobné aliasům, s tím rozdílem, že se vztahují pouze na e-maily odeslané konkrétnímu uživateli a doméně, nikoli uživateli v jakékoli doméně, jako to dělají aliasy. Dalším rozdílem je, že mapování adres může přeposílat e-maily pouze na jednu adresu, nikoli do programu, souboru nebo seznamu adres. Toto omezení však lze překonat kombinací mapování a aliasů.

Pomocí mapování adres můžete mít e-mail na [email protected] a [email protected] odeslány do různých konečných destinací, i když jsou obě domény hostovány vaším serverem. To je zvláště užitečné, pokud spravujete velký počet e-mailových domén pro různé zákazníky, z nichž mnozí chtějí mít podobné adresy (např. prodej ) ve svých doménách.

Mapování adres lze také použít k přesměrování všech e-mailů do určité domény stejným uživatelům v jiné doméně, takže například e-mail na adresu [email protected] a [email protected] bude zasláno na adresu [email protected] a [email protected] resp. Ještě lepší je, že si můžete nechat všechny e-maily na libovolnou adresu v doméně poslat na jedinou jinou adresu, což je užitečné pro poštovního klienta POP3 Fetchmail načítání pošty. Chcete-li vytvořit nové mapování adresy, postupujte takto:

  1. Na hlavní stránce modulu klikněte na Mapování adres ikona. Zobrazí se stránka se seznamem všech existujících mapování s formulářem nahoře s označením Vytvořit mapování pro přidání nového.
  2. Pokud chcete vytvořit mapování pro e-mail pouze na jednu adresu, vyberte Adresa v Pošta pro a zadejte adresu do sousedního textového pole. Na rozdíl od aliasu musí být zadán celý jako [email protected] . Pokud vytváříte mapování všech e-mailů na doménu, vyberte Doménu a zadejte celou doménu nebo název hostitele do textového pole vedle, například example.com . V obou případech se doména v adrese nebo zadaná doména musí objevit v seznamu lokálních domén Sendmailu, jak je vysvětleno v části Úprava lokálních domén části výše v této kapitole.
  3. Pokud je cílem mapování jedna adresa, v Odeslat komu v poli vyberte Adresa a do textového pole vedle vyplňte buď úplnou adresu (např. [email protected] ) nebo název poštovní schránky (například jcameron ). Pokud Doména byl vybrán pro Poštu pro můžete vybrat Doménu možnost i pro toto pole. Pokud ano, musíte zadat název domény (například foo.com ) do sousedního textového pole, do kterého budou přesměrovány všechny e-maily odeslané na původní doménu. Poslední Chyba návratu možnost v Odeslat komu pole lze vybrat, pokud chcete, aby se místo toho odesílatelům vrátila konkrétní chybová zpráva. Je-li zvoleno, je třeba vybrat typ chyby z nabídky vedle něj a do textového pole zadat podrobnější chybovou zprávu. Tato možnost může být užitečná pro zasílání zpětných zpráv o nedoručitelnosti vysvětlujících, proč určitá adresa nebo celá doména již není dosažitelná.
  4. Klikněte na tlačítko Vytvořit tlačítko pro přidání mapování adresy do seznamu adres zobrazených pod formulářem. Bude okamžitě aktivní.

Stejně jako u aliasů můžete upravit nebo odstranit existující mapování kliknutím na jejich adresy v seznamu. Zobrazí se formulář identický s tím, který byl použit pro vytvoření mapování, ale s Uložit a Smazat tlačítka ve spodní části.

Pokud existuje mapování pro doménu i adresu v této doméně, Sendmail použije druhé pro e-mail na tuto konkrétní adresu a první pro e-mail do jakékoli jiné poštovní schránky v doméně. Ve skutečnosti mají konkrétnější mapování adres přednost před obecnějšími. Na jejich řazení v seznamu na stránce Mapování adres vůbec nezáleží.

Pokud chcete vytvořit mapování, které přepošle e-mail programu, souboru nebo seznamu adres, budete muset vytvořit také alias. Mapování adresy odešle e-mail na alias a poté jej alias předá skutečnému cíli. Obvykle by alias měl pojmenovat jméno, které souvisí s mapováním adresy, například jcameron-example-com pro mapování pro virtuální adresu [email protected] .

V systému s mnoha doménami a uživateli je docela pravděpodobné, že dva lidé budou chtít mít stejný název poštovní schránky v různých doménách, například [email protected] a [email protected] . Protože Sendmail nakonec doručuje e-maily pouze do poštovních souborů uživatelů Unixu a dva uživatelé Unixu nemohou mít stejné jméno, může to být problém. Obvyklým řešením je vytvořit uživatele pojmenované jako bob-foo a bob-bar a nastavte vhodná mapování adres pro přeposílání e-mailů na ně. Jedinou nevýhodou je, že se uživatelé budou muset přihlásit k serveru POP3 jako bob-foo nebo bob-bar místo jen bobe .

Konfigurace směrování domény

Funkce směrování domény Sendmailu může být použita k přesměrování všech e-mailů do určité domény na jiný server. Nejužitečnější je, pokud je DNS nastaveno k odesílání e-mailů pro nějakou doménu do vašeho systému, které by pak měly být předány jinému MTA, který je pro zbytek Internetu nedostupný. Směrování lze také použít k potlačení běžné metody, pomocí které Sendmail zjišťuje, kterému hostiteli má odeslat e-mail, což může být užitečné v sítích, ve kterých je připojení neúplné nebo některé informace DNS nejsou dostupné všem hostitelům.

Chcete-li přidat nové pravidlo směrování domény, postupujte takto:

  1. Na hlavní stránce modulu klikněte na Směrování domény ikona. Zobrazí se stránka se seznamem existujících směrování (pokud existují), nad kterou je formulář pro přidání nového.
  2. Chcete-li, aby byly e-maily pouze na konkrétní doménu nebo hostitele směrovány jinam, vyberte Hostitel možnost v Pošta pro a do sousedního pole zadejte doménu nebo název hostitele. Případně, pokud chcete, aby byly e-maily pro všechny hostitele v doméně směrovány, vyberte Doména místo toho a do příslušného pole zadejte název domény. Směrování tohoto druhu pro doménu example.com neovlivní odeslání e-mailu na adresu v doméně (jako [email protected] ), ale e-mail pouze na adresy na hostitelích v rámci domény (jako [email protected] ). Normálně to není to, co chcete. Jakákoli doména nebo název hostitele, který zadáte, musí být na seznamu, pro který Sendmail umožňuje přenos, jak je vysvětleno v Konfigurace přenosu části výše v této kapitole.
  3. Z Doručení vyberte SMTP . Toto pole říká Sendmailu, který protokol má použít při směrování e-mailů pro doménu. Většina ostatních možností je k ničemu, protože se týkají protokolu UUCP, který se již téměř nepoužívá.
  4. V Odeslat komu zadejte název hostitele systému, na který má být pošta přeposílána. Ignorovat MX pro doručování SMTP Zaškrtávací políčko by mělo být také zaškrtnuto, aby Sendmail vždy doručoval přímo tomuto hostiteli místo toho, aby se pokoušel o další vyhledávání DNS pro určení správného cíle.
  5. Klepněte na Vytvořit tlačítko pro přidání a aktivaci nového směrování domény. Měli byste jej otestovat, abyste se ujistili, že skutečně funguje, protože došlo k malým chybám (jako je výběr Doména místo Hostitel ) může zabránit fungování trasy.

Stejně jako na jiných podobných stránkách v modulu lze stávající pravidlo směrování upravit nebo smazat kliknutím na název jeho domény v seznamu na stránce Směrování domény. Neexistuje však způsob, jak dočasně deaktivovat pravidlo, jako je tomu u aliasů.

Sendmail lze také nakonfigurovat tak, aby předával všechny nelokální e-maily na konkrétní server, nikoli pouze e-maily na konkrétní domény. To je užitečné, pokud má vaše společnost nebo ISP centrální poštovní server, kterému chcete předávat e-maily, místo aby se váš systém připojoval ke skutečnému cílovému serveru. Následující část vysvětluje, jak to nastavit.

Úprava globálních možností Sendmail

Globální možnosti řídí takové věci, jako je maximální velikost zprávy, počet dní pro opakování e-mailu, limity průměrného zatížení a server odchozí pošty. Následující kroky vysvětlují, jak upravit některé z nejužitečnějších:

  1. Na hlavní stránce modulu klikněte na Možnosti odesílání pošty ikona. Zobrazí se formulář pro úpravu globálních možností (viz níže).
  2. Když se zobrazí Odeslat odchozí poštu přes hostitele je nastaveno na *Doručovat přímo*, Sendmail vyhledá správný poštovní server pro nelokální zprávy a připojí se k němu, aby doručoval e-maily. Pokud však vyberete druhou možnost a do textového pole zadáte název hostitele, všechny zprávy kromě zpráv pro místní uživatele se budou místo toho odesílat tomuto hostiteli. Obvykle to bude centrální poštovní server u vašeho ISP nebo v síti vaší společnosti. Pokud pro adresu existuje pravidlo směrování domény, bude mít přednost před jakýmkoli serverem nastaveným v tomto poli.
  3. Režim zobrazování pole řídí, jak Sendmail zpracovává příchozí zprávy. Dostupné možnosti jsou :Pozadí nebo *Výchozí *V tomto režimu je e-mail okamžitě přijímán od klientů a poté je doručován na místo určení samostatným procesem na pozadí. To je obvykle to, co chcete. *Pouze fronta* nebo *Odloženo *Když je zvolen jeden z těchto režimů, Sendmail jednoduše přidá příchozí zprávy do své poštovní fronty. Pouze v případě, že je fronta explicitně vyprázdněna, budou odeslány do svých cílů. To může být užitečné, pokud váš systém není vždy připojen k internetu nebo pokud chcete mít explicitní kontrolu nad tím, kdy server odesílá zprávy. Když je zpráva přijata v kterémkoli z těchto režimů, Sendmail neprovádí žádné ověření zdrojové nebo cílové adresy, což by jinak způsobilo problémy, pokud by byl váš systém odpojen od sítě. *Interaktivní *Tento režim je podobný režimu na pozadí s tím rozdílem, že e-maily jsou doručovány stejným procesem, který je přijímá od klienta. To znamená, že klienti musí čekat, dokud Sendmail nepřenese jejich zprávy na další nebo cílový server, což může nějakou dobu trvat. Snižuje však počet procesů, které Sendmail potřebuje ke spuštění.
  4. Možnosti portu SMTP pole lze použít k nastavení portů TCP, na kterých Sendmail naslouchá pro připojení SMTP. Skutečná hodnota, kterou lze zadat, může být poměrně složitá, ale pokud chcete, aby váš systém akceptoval připojení odkudkoli na standardním portu SMTP, měli byste zadat pouze Name=MTA. Na některých operačních systémech to není výchozí nastavení a Sendmail přijímá pouze připojení z localhost.
  5. Maximální průměrná zátěž pro odesílání pole lze použít k nastavení průměrné zátěže, nad kterou nebude Sendmail odesílat zprávy. Průměrná zátěž je hrubý odhad počtu procesů běžících na vašem systému v daný okamžik, jak je vysvětleno v kapitole 11. Tato a další možnost jsou užitečné pro omezení množství času CPU, který může Sendmail zabrat na vašem systému. , i když to druhé je užitečnější. Pokud je Výchozí Pokud je vybrána, server bude pokračovat ve zpracovávání fronty pošty a odesílání zpráv bez ohledu na průměrnou zátěž.
  6. Chcete-li nastavit průměrnou zátěž, nad kterou už Sendmail nebude přijímat nové zprávy, zadejte hodnotu pro Maximální průměr zátěže pro příjem pole. Po dosažení této úrovně server uzavře port SMTP, dokud zatížení opět neklesne pod něj. Cokoli zadáte, by mělo být obvykle nižší než limit nastavený pro Maximální průměrnou zátěž pro odesílání pole, takže fronta pošty je stále zpracovávána, i když je zatížení vysoké. Když je Výchozí je vybrána, bude Sendmail přijímat nová připojení bez ohledu na průměrnou zátěž.
  7. Čas před vzdáním se pole určuje dobu, po kterou se bude Sendmail pokoušet odeslat e-mail na vzdálený server, který nelze kontaktovat, než vrátí odesílateli zprávu o nedoručitelnosti. Hodnota, kterou zadáte, musí být číslo následované d pro dny nebo h pro hodiny. Mělo by být změněno pouze v případě, že je pravděpodobné, že váš systém bude odpojen od internetu na dobu delší než výchozích 5 dní a nechcete, aby zprávy ve frontě doskakovaly.
  8. Podobná Doba před odesláním varování pole určuje dobu, po kterou bude Sendmail držet zprávu ve frontě, než odešle varování původnímu odesílateli. Pokud je váš systém sekundárním poštovním serverem pro nějakou doménu nebo je často odpojen od sítě, měl by být zvýšen na stejnou dobu jako u předchozího pole.
  9. Chcete-li změnit adresu, na kterou Sendmail zasílá fatální zprávy nebo zprávy s dvojitým nedoručením, zadejte novou adresu do pole *Odesílat chybové zprávy*. Když Poštmistr Pokud je vybrána, budou odeslány do poštovní schránky Postmaster, což je obvykle alias pro root.
  10. Chcete-li omezit množství místa na disku, které bude Sendmail využívat pro zprávy ve frontě, vyplňte Min. volného místa na disku pole. Pokud počet volných bloků klesne pod tuto úroveň, nové příchozí zprávy již nebudou přijímány. Přesná velikost bloku závisí na typu používaného souborového systému, ale obvykle jsou
  11. velikost kB nebo 512 bajtů.
  12. Chcete-li zabránit odesílání velkých zpráv přes váš poštovní server, vyplňte Maximální velikost zprávy pole. Jakýkoli e-mail větší než počet zadaných bajtů bude po přijetí odmítnut. Pokud máte pomalé síťové připojení a nedůvěryhodné klientské uživatele, může být tato možnost užitečná pro úsporu šířky pásma.
  13. Nakonec klikněte na Uložit a použít pro uložení nových globálních možností. Webmin automaticky znovu spustí Sendmail, abyste je mohli aktivovat.


Stránka s možnostmi Sendmail

Zobrazení fronty pošty

Když Sendmail obdrží zprávu, je umístěna do fronty pošty. Pokud jej lze odeslat na místo určení okamžitě, bude téměř okamžitě odstraněn z fronty - pokud se však při ukončení vyskytne nějaká dočasná chyba, zůstane ve frontě pro pozdější zpracování. Proces serveru Sendmail pravidelně kontroluje zprávy ve frontě a každou z nich zkouší v delších a delších intervalech. Nakonec poté, co byla zpráva ve frontě příliš dlouho (obvykle 5 dní), bude odstraněna a původnímu odesílateli bude zaslán zpět e-mail s nedoručením.

Většina zpráv, které jsou ve frontě po dlouhou dobu, je tam, protože cílový poštovní server je mimo provoz nebo je nedostupný. Další častou příčinou je dočasná chyba hlášená vzdáleným MTA, například nedostatek místa na disku. Webmin vám umožňuje prohlížet zprávy ve frontě a dokonce je mazat podle následujících kroků :

  1. Na hlavní stránce modulu klikněte na Fronta pošty ikonu pro přechod na stránku se seznamem podrobností zpráv ve frontě. Počet e-mailů ve frontě se zobrazuje pod ikonou, takže na první pohled vidíte, jak dlouhá je.
  2. Na stránce fronty pošty se v tabulce zobrazí ID, odesílatel, cíl, předmět a velikost všech zpráv ve frontě. V posledním sloupci je aktuální stav, který ukazuje, co se Sendmail se zprávou v tuto chvíli snaží udělat. Odesílání se objeví, když se Sendmail pokouší připojit ke vzdálenému serveru, a Odloženo se zobrazí spolu s důvodem, když bylo připojení vyzkoušeno a selhalo. Pokud fronta obsahuje více než 20 zpráv, zobrazí se pouze prvních 20. Chcete-li listovat ve zbytku, použijte tlačítka se šipkou doleva a doprava, která se zobrazí nad seznamem.
  3. Chcete-li zobrazit skutečný obsah e-mailu, klikněte na jeho ID v seznamu fronty. Zobrazí se všechna záhlaví, tělo textu a všechny přílohy. Chcete-li zobrazit přílohu, stačí kliknout na její ikonu. Chcete-li z fronty odstranit pouze tuto zprávu, stiskněte Smazat tlačítko v dolní části stránky. Pokud je e-mail uzamčen, protože se právě odesílá, Webmin zobrazí chybovou zprávu spolu s tlačítkem označeným Přesto vynutit smazání na které můžete kliknout a přepsat zámek. To může způsobit, že zpráva bude odeslána pouze částečně, a proto se to nedoporučuje.
  4. Chcete-li z fronty odebrat více zpráv, nejprve je vyberte pomocí zaškrtávacích políček vedle jejich ID a pomocí možnosti Vybrat vše a Invertovat výběr odkazy na stránce seznamu front. Poté klikněte na Smazat vybrané zprávy zbavíte se těch, které jste si vybrali. Chcete-li přepsat jakékoli zámky u vybraných e-mailů, zaškrtněte políčko I když je uzamčeno krabice jako první. Po stisknutí tlačítka Smazat tlačítko, zobrazí se stránka se seznamem ID a výsledku smazání každé zvolené zprávy. Odstranění může selhat, pokud zpráva již není ve frontě nebo pokud je aktuálně uzamčena.

I když Sendmail automaticky znovu zkusí zprávy ve frontě, můžete jej přinutit, aby se pokusil okamžitě doručit všechny zprávy ve frontě pomocí Webmin. To může být užitečné, pokud máte vytáčené připojení k internetu a ve frontě jste odpojili několik e-mailů. Kroky k vyprázdnění fronty jsou:

  1. Na hlavní stránce modulu klikněte na Fronta pošty ikonu pro zobrazení seznamu zpráv ve frontě.
  2. Dokud fronta není prázdná, bude ve spodní části stránky viditelné tlačítko označené *Flush Mail Queue*. Kliknutím na něj spustíte okamžité zpracování všech čekajících zpráv.
  3. A page showing the output from Sendmail as it attempts to deliver queued email will be displayed. If you have a large queue containing messages for down remote servers, it may take a long time to completely appear.

Čtení e-mailů uživatelů

As the introduction explains, Sendmail stores messages received by users in files in the /var/mail or /var/spool/mail directory. These are read and emptied by the POP3 server, command-line mail clients like pine or elm, or web-based mail clients like Usermin. However, this Webmin module can also act as a simple mail client, allowing you the system administrator to read any user's email.

This feature is useful for deleting large messages is user mailboxes that would otherwise take a long time to download over a dialup POP3 connection. It also allows you to read email for system users such as root without needing to telnet in or run a separate mail client. More controversially, on a multi-user system you can even invade people's privacy by reading their personal email - assuming they have not downloaded and deleted it via POP3 yet.

The steps to check the contents of a user's mailbox are:

  1. Na hlavní stránce modulu klikněte na Uživatelské poštovní schránky ikona. Pokud nemáte více než 200 uživatelů, zobrazí se stránka se seznamem všech uživatelů ve vašem systému a velikostí jejich poštovních schránek. V tom případě se místo něj objeví malý formulář pro zadání uživatelského jména.
  2. Click on the name of a user to bring up a list of messages in his mailbox, an example of which is shown in Figure 37-4. Ve výchozím nastavení jsou nejnovější zprávy zobrazeny jako první, i když jsou ve skutečnosti na konci skutečného souboru pošty. Pokud schránka obsahuje více než 20 e-mailů, zobrazí se pouze prvních 20. Chcete-li listovat ve zbytku, použijte tlačítka se šipkou doleva a doprava nad seznamem.
  3. To view an actual message, click on the sender's name in the From sloupec. A page showing the important headers, body text and attachments will appear. Click on an attachment icon to view it, assuming that the data type is supported by your browser or some external program. To remove just this email from the user's mailbox, click the Delete tlačítko v dolní části stránky. This can take quite some time if the mailbox is extremely large (over 10 MB) or contains lots of messages, as Webmin needs to re-write the entire mail file.
  4. To delete multiple messages, first select them using the checkboxes and Select all a Invertovat výběr links on the mail list page. Then click the Delete button above or below the list - once again, this can take a while for large mailboxes.
  5. To search the user's mailbox for messages matching some criteria, use the Find messages where form below the list. The following types of search can be selected from the menu :From:matches , Subject:matches , To:matches or Cc:matches Finds messages in which the From, Subject, To or Cc field contains the text entered into the adjacent text box. The comparison is case-insensitive, but regular expression characters cannot be used. Date:matches Finds messages in which the sending date header contains the entered text. This header will not be converted to local format, so whatever you enter must match the date format used by the sender. Body matches Finds messages whose body contains the entered text. The body includes all attachments in their un-encoded form, not just the text that is shown when you read an email. *Size is greater than* Finds messages whose total size is greater than the number of bytes entered into the adjacent field. For each of the above search types, an inverse type is also available, such as From:doesn't match or *Size is less than*. After choosing your search type and entering text to match, hit the Search knoflík. A page listing all matching messages will be displayed, from which you can view the contents of emails or select some or all to delete, just like in the normal mail list.


The contents of a user's mailbox

The mail reading section of the module actually allows you to compose new messages and reply to or forward existing ones. In fact, it can be used as a full-featured email client, although it is not the best program for the job. The default From address for sent messages is determined from the mailbox user's name and the system hostname, but this can be changed on the module access control page on a per-Webmin user basis. It is even possible to create Webmin users who can use this module to read only their own mailbox and send email from only their address. However, you should really use a program like Usermin if you want to give the same mail-reading web interface to a large number of users on your system.

By default, the module assumes that that mail for each user will be stored in a file with the user's name in the /var/mail or /var/spool/mail directory. It is possible to configure Sendmail to use a different file path instead though, such as the mbox file in each user's home directory. If this is the case on your system, you will need to re-configure the module, as explained in the section Sendmail Configuration modul. Otherwise all the mailbox will show up empty, because Webmin is looking in the wrong place for them.

Adding Sendmail features with M4

The primary Sendmail configuration file sendmail.cf is extremely complex, and almost impossible to edit manually. Fortunately, it is usually built from a series of M4 macro files that are much simpler and can be modified using this module or by manual editing. M4, for those who have not heard of it before, is a program that parses text files and expands macros in them. These macros can include other text files, define variables and functions or exclude text based on certain conditions. M4 is very similar to the pre-processor used by the C programming language which handles #include and #define statements. Fortunately, this module hides most of the complex details from you.

Often, the default Sendmail configuration that comes with your operating system will not have some features enabled, such as address mapping or domain routing. Webmin can detect this, and will display an error message if you try to use a module page for a Sendmail feature that is not enabled in the primary configuration file. To turn on a missing feature, an entry must be added to the primary M4 configuration file, from which sendmail.cf is re-built. Then Sendmail will be able to use it, and this module will be able to configure it.

Before you can manage your Sendmail M4 configuration, this module must know where to find the M4 files. To check if it has the correct paths and to set them if not, follow these steps:

  1. On the module's main page, click on the Sendmail M4 Configuration ikona.
  2. If an error message like *The Sendmail M4 configuration file /etc/sendmail.mc was not found* or The locations of the Sendmail M4 base directory and M4 config* files have not been set* is displayed, then module cannot find the M4 files. However, if a table of entries from the file is displayed instead then everything is configured OK and you can skip the rest of these steps.
  3. If you are running Linux, check your distribution CD or website to make sure that all the packages whose names start with sendmail are installed. Sometimes the M4 files are in a separate package named something like sendmail-cf. If you do find and install such as package, go back to step 1 and check again to see if the module has found the configuration files.
  4. If you are using the Sendmail package that came with your version of Unix and cannot find any M4 files on your system, then this feature of the module cannot be used. This is unfortunately the case on some operating systems.

Once the Sendmail M4 Configuration page displays the contents of your primary M4 file, you can use it to add new features such as address mapping or domain routing. The page can in fact be used to modify any of the M4 macros in the file, but unless you are any experienced Sendmail administrator it is best to stick to these instructions for adding features:

  1. From the menu next to the Add new entry of type button at the bottom of the page, select Feature and then hit the button to go to the feature creation form.
  2. Select the one that you want to add from the Feature Jídelní lístek. The most commonly used features have names next to them in brackets that correspond to their icons on the module's main page.
  3. In the Parameters field, enter hash -o followed by the path that should be used for the feature's text and DBM files. For example, if adding a virtusertable feature you should enter hash -o /etc/mail/virtusertable (assuming your system has an /etc/mail directory).
  4. Login to your system as root via SSH, telnet or at the console and create the empty text file with a command like touch /etc/mail/virtusertable. Naturally, this is not necessary if it already exists.
  5. Klikněte na tlačítko Vytvořit button to update the M4 file and be returned to the previous page.
  6. At the very bottom of the M4 file contents list, click the *Rebuild Sendmail Configuration* button. A confirmation page showing the exact changes that will be made to your sendmail.cf file will be displayed - typically they will be limited to directives for the new feature. If the confirmation form indicates that a huge number of lines are going to be changed, it is likely that the M4 file being edited was not originally used to built your current sendmail.cf file, and so should not be used in future.
  7. To go ahead and use the newly rebuilt Sendmail configuration, click the Yes, replace it now knoflík. Your sendmail.cf file will be updated and the server process re-started to immediately activate it.
  8. Go back to the module's main page, and click on the icon for the feature that you have just enabled. You will not be able to add and edit address mappings or whatever it was that you added support for.

As you can see from looking at the existing M4 file entries, editing or adding to it can still be quite complex. For this reason, the book does not cover all of the possible features or other macro types that you can add. However, for most people the defaults will work just fine - at most, all you should need to do is add a feature or two as explained above. If you want to learn more about editing the M4 configuration, you should buy a book dedicated to Sendmail administration.

One problem with using the M4 page to re-build your Sendmail configuration is that any changes that have been made directly to sendmail.cf will be overwritten. The module's Sendmail Options page unfortunately does precisely this, so if you follow the instructions above to add a new feature any changes made on that page will be lost! The only real solution is to edit the entries in the M4 file that correspond to those on the Sendmail Options page - for example, the Send outgoing mail via host field is set by the SMART_HOST define.

Creating autoreply aliases

The Sendmail Configuration module lets you easily create an alias that triggers an automatic reply to anyone who sends email to it. When you do this, Webmin creates a simple script that is run from the alias and receives the contents of email sent to it as input, just like a command specified using the Feed to program alias type.

To set up an autoreply alias, follow these steps:

  1. Na hlavní stránce modulu klikněte na Poštovní aliasy ikona.
  2. In the Create Alias form, enter a name for the alias and select Autoreply from file from the type menu. The name can be that of an existing Unix user if you want to set up an automatic reply to any message send to him, for example if he is on holidays.
  3. In the field next to the type menu, enter the path to a file that will contain the autoreply message, such as /home/someuser/autoreply.txt . The file does not have to exist yet.
  4. Klikněte na tlačítko Vytvořit button to add the alias, and then click on its name in the list to edit again.
  5. Follow the Edit link next to the autoreply filename field. This will bring up a page containing a large text box for entering the contents of the reply message.
  6. After entering the text that you want sent back to any sender, click Save at the bottom of the page. The autoreply alias is now fully active.

The reply text can contain several special macros that start with $, such as $SUBJECT, $TO, $FROM, $DATE and $BODY. When the reply is sent, these will be replaced with the original message's subject, destination address, sender address, sending date or body respectively. Be careful using the $BODY macro though, as it will be replaced with the entire un-encoded contents of the email being replied to.

You can also add to or override the headers used in the reply message by starting the autoreply text with one or more lines in standard SMTP header format, followed by a blank line. For example, to set the subject of the automatic reply you could enter _Subject:This is an automatic reply_ at the top of the text box, with an empty line after it.

One problem with Webmin's autoreply script is its inability to reliably determine the From address to use when sending the reply. Normally this is just taken from the To address of the original message, but this is not possible when replying to a message that was sent to multiple people. Even though the code attempts to find the right address automatically, it can sometimes get the wrong one and send an automatic reply that appears to be from the wrong person. For this reason, you should include a header line like From:Jamie Cameron at the top of your reply text to set the correct address.

If you are setting up an automatic reply alias for a Unix user, it is usually a good idea to have a copy of all email sent to the user stored in his mailbox as well. To do this, re-edit the alias and select Email address from the second type menu. Then enter the user's name preceded by a backslash into the text field next to it (like \jcameron ) and hit Save .

Creating filter aliases

Sendmail aliases normally forward email messages to their destinations regardless of their content. However, it is possible to use this Webmin module to create an alias that forwards to different addresses or files depending on the headers or body of a message send to it. When you create an alias like this, the module internally creates a script that is passed the contents of email to the alias as input, just like a command specified using the Feed to program alias type.

A filter consists of a series of rules, each of which has a condition and action. The condition specifies a header to check and text to check if the header contains, while the action specifies an address to forward to or a file to append the message to. When a message is received by the filter, it is checked against the rules in order until one that matches is found and its action performed. At the end of the list is a default action, which determines where to forward email that does not match any of the conditions.

Compared to other mail filtering or classification programs like Procmail Mail Filter and SpamAssassin Mail Filter, Webmin's filters are limited in their functionality and flexibility. However, they are easy to create and require no additional software. To create one, the steps to follow are:

  1. Na hlavní stránce modulu klikněte na Poštovní aliasy ikona.
  2. In the Create Alias form, enter a name for the alias and select Apply filter file from the type menu. The alias name can be that of an existing Unix user if you want to filter his email before delivery.
  3. In the field next to the type menu, enter the path to a file that will contain the filter rules, such as /home/someuser/filter.rules . Because the file format is fairly complex, you should not enter the name of any existing file unless it was created by following these same steps.
  4. Klikněte na tlačítko Vytvořit button to add the alias, and then click on its name in the list to edit again.
  5. Follow the Edit link next to the filter rules file field. This will take you to the form shown in Figure 37-5, which contains a table of empty rows for entering new rules and a text field for the default action address.
  6. In the first row, select the header that you want to filter on from the menu next to If the . Or to check the entire un-decoded email body, select body from the list instead. To have the action performed if some text is found in the header or body, select matches from the second menu. Alternately, to perform the action only when some text is not found, choose *doesn't match* instead. In the field next to this menu, enter the text that the filter should check the header or body for. The comparison will always be case-insensitive, and Perl regular expression characters like [, ., + and * can be used. In the *then forward to* field, enter the email address or mailbox name to which messages matching the condition that you specified will be sent. It is also possible to enter an absolute file path like /home/someuser/mail/somefolder to which email will be appended instead. This could be another user's mail file, or a mail folder - however, it must be writable by the Unix user daemon that Sendmail runs as.
  7. To enter another rule, fill in the second blank row by repeating the instructions in the previous step again. Only five empty rows are displayed, but you can create more than five rules by saving and re-editing the filter file.
  8. In the Otherwise forward to field at the bottom of the table, enter an address or filename to which messages that do no match any of the rules will be sent or appended. If this is left blank, unmatched email will be thrown away!
  9. Finally, click the Save button to activate the new filter rules. To make sure they are really working, you should send a few text messages to the alias and check that they are delivered correctly.


The filter creation form

To have email forwarded to multiple addresses by a single rule or the default action, just enter them separated by commas into one of the forward to pole. Or enter the name of another alias as the destination, which can then send messages to multiple files, addresses and/or programs.

When creating a filter alias with the same name as a Unix user, it is often useful to specify that messages matching some rule be delivered to the user's normal mailbox. However, just entering the user's name as the destination would be a big mistake, as this would trigger an endless loop through the filter! Instead, you should prepend a backslash to the username, like \jcameron . As with aliases, this tells Sendmail to ignore any aliases for this mailbox.

Because it can often be difficult to work out what a filter alias is doing and why it is doing it, the filter script creates a log file in the same directory as the rules file. The log has the same name as the filter file, but with .log appended. Every message received by the alias and delivered to some destination by the filter causes a line to be added to the log, containing the date, time, sender, destination and rule matched. The log file will only be created if the directory or log itself is writable by the daemon user though.

Module access control

The Sendmail Configuration module probably has the most powerful access control features of any module in Webmin. You can use them to limit the aliases and virtual addresses a Webmin user can edit, or restrict him to reading only the mailboxes of certain Unix users. These features are most useful in a virtual hosting environment, where customers own email domains and the user accounts. On this kind of system, you can create one Webmin user per customer who can only manage the address mappings, aliases and mailboxes for his own domains, while not being able to use other features of the module or touch other customers' information.

Once you have created a Webmin user who has access to the module (as explained in WebminUsers), follow these steps to restrict what he can do:

  1. In the Webmin Users module, click on Sendmail Configuration next to the name of the user that you want to restrict.
  2. Změňte Lze upravit konfiguraci modulu? pole na Ne , so that he cannot modify paths to Sendmail programs and files.
  3. Set all of the Yes/No fields in the second section to No , which will prevent the user from seeing most of the module's icons.
  4. Vyberte možnost Ne from the Can manage mail queue? menu, or *View only* if you just want the module user to be able to see the contents of the queue. Výběrem Ano would be a bad idea, as it would allow him to delete queued email belonging to other domains.
  5. For the Address mappings this user can edit field, select the Matching option and enter a Perl regular expression for allowable mapping sources into the text field next to it. For example, to let him create and edit mappings in the domains foo.com and example.com , you should enter (@foo.com|@bar.com)$.
  6. It is safe to select all of the checkboxes in the *Address mapping types this user can edit* field.
  7. To limit the number of mappings that the user can create, select the second radio button in the *Maximum number of address mappings* field and enter a number into the box next to it. This can be useful for preventing a single customer from more address mappings than he has paid for.
  8. In the Aliases this user can edit field, select Matching and enter a regular expression that only lets him modify or create aliases starting with the customer's domain names. For example, if the user owns the domains foo.com and example.com you should enter ^(foo|example)- to limit him to aliases like foo-jcameron or example-fred . This naming convention ensures that users cannot step on each others' aliases.
  9. In the Alias types this user can edit field, de-select the checkboxes for types of aliases that the Webmin user should not be allowed to create. Good candidates to deny access to are Write to file , Feed to program , Autoreply and *Filter file*, as they use the permissions of the Sendmail daemon user and thus may be a security risk.
  10. To limit the number of aliases that the customer can create, select the second radio button in the Maximum number of aliases field and enter the maximum into the box next to it.
  11. To stop the Webmin user creating aliases that run programs, append to files or use address files outside a certain directory, enter it into the Limit files and program to directory pole. Unfortunately, this can be subverted by the clever use of symbolic links and so is not a very strong security measure.
  12. In the Outgoing addresses this user can edit field, select Matching and enter the same regular expression as in the Address mappings this user can edit pole. This will limit the user to re-writing addresses for only his own domains. Or to prevent the editing of outgoing addresses at all, select None - in most cases, there is no need for a Sendmail administrator to edit them anyway.
  13. In the Users whose mail can be read field, select one of the last five options to limit the customer to only those Unix users who belong to him. If he has been given limited access to the Users and Groups module as well, then you should allow him to read the email of the same users that he can create an edit in that module.
  14. Leave the rest of the fields on the form set to their defaults - they are only really useful if you are setting up the module as a web- based mail reading interface. Although this is possible, there are much better alternatives such as Usermin.
  15. Klikněte na tlačítko Uložit button to make the restrictions for the user active.

Even though it is possible to configure this module to limit a user to certain domains, the module's interface is not particularly friendly compared to products like Plesk or Cpanel. These are web-based virtual server management interfaces that have been designed from the ground up for that purpose, unlike Webmin which was design to allow the management of everything on a system.

Configuring the Sendmail Configuration module

The Module Config link on the main page takes you to a form seen in many other modules for editing settings that apply to the operation of the module itself. Those listed under Configurable options relate to its user interface, while those under System configuration define the paths to the Sendmail programs and files.

Settings in the latter group do not usually need to be changed, as by default they are set to match the Sendmail package supplied with your operating system. However, if you have compiled and installed the MTA yourself from the source code, then it is quite possible that they will be incorrect.

Obsah

Viz také

  • Introduction to Internet Mail

Webmin
  1. Jak nainstalovat DKIM na server Ubuntu

  2. Poštovní server QMail

  3. Připravte cloudový server jako poštovní server

  1. Jak nakonfigurovat webový server Apache

  2. Příručka správce systému pro konfiguraci e-mailového serveru

  3. Konfigurace poštovního serveru pro přenos e-mailů?

  1. Nastavte poštovní server pomocí PostfixAdmin

  2. Konfigurace serveru Samba v CentOS 6.5

  3. Služba OS Linux „sendmail“