Uživatelské nástroje

Nástroje pro tento web


shared:mailserver_sendmail

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
shared:mailserver_sendmail [2009/05/29 07:35] strnad@icpf.cas.czshared:mailserver_sendmail [2009/05/29 07:42] (aktuální) strnad@icpf.cas.cz
Řádek 3: Řádek 3:
 Pro správnou konfiguraci je potřeba si přeložit vlastní konfigurační soubor sendmail.cf. Není to nic složitého, jen je potřeba do systému doinstalovat balík sendmail-cf-8.9.3-xx.i386.rpm, ve kterém jsou zdrojové texty konfigurace. Nejprve však základní nastavení: Pro správnou konfiguraci je potřeba si přeložit vlastní konfigurační soubor sendmail.cf. Není to nic složitého, jen je potřeba do systému doinstalovat balík sendmail-cf-8.9.3-xx.i386.rpm, ve kterém jsou zdrojové texty konfigurace. Nejprve však základní nastavení:
  
-**/etc/mail/access** - ve starších verzích sendmailu existoval ještě soubor /etc/mail/relay-domains. Nyní je vše přestěhováno do tohoto souboru. Takže nejprve je potřeba zde vyjmenovat všechny domény, pro které náš server zpracovává poštu, a uvést u nich akci "RELAY". Musí zde být uvedena i položka localhost. Toto je ten správný soubor pro editaci, pokud se nám vrací maily s hlášením "we do-not relay". V další části mohou být vyjmenovány domény nebo e-mailové adresy, ke kterým máme výhrady (spammeři). Zde je ve sloupečku akce text, který dotyčnému vrátíme. +**/etc/mail/access** - ve starších verzích sendmailu existoval ještě soubor /etc/mail/relay-domains. Nyní je vše přestěhováno do tohoto souboru. Takže nejprve je potřeba zde vyjmenovat všechny domény, pro které náš server zpracovává poštu, a uvést u nich akci "RELAY". Musí zde být uvedena i položka localhost. Toto je ten správný soubor pro editaci, pokud se nám vrací maily s hlášením "we do-not relay". V další části mohou být vyjmenovány domény nebo e-mailové adresy, ke kterým máme výhrady (spammeři). Zde je ve sloupečku akce text, který dotyčnému vrátíme.\\ 
- +\\ 
-**například:** +**například:**\\ 
- +\\ 
-localhost                  RELAY +localhost                  RELAY\\ 
-194.213.243.1              RELAY +194.213.243.1              RELAY\\ 
-mikros                     RELAY +mikros                     RELAY\\ 
-mikros.mikroservis.cz      RELAY +mikros.mikroservis.cz      RELAY\\ 
-mikroservis.cz             RELAY +mikroservis.cz             RELAY\\ 
-kozakov.cz                 RELAY +kozakov.cz                 RELAY\\ 
-linux.mikroservis.cz       RELAY +linux.mikroservis.cz       RELAY\\ 
- +\\ 
-juno.com                   "571 Sorry, too much spam is your domain" +juno.com                   "571 Sorry, too much spam is your domain"\\ 
-'Art@hotmail.com           "571 Go Home, Spammer !!" +'Art@hotmail.com           "571 Go Home, Spammer !!"\\ 
-bsmith@aol.com             "571 Sorry, too much spam is your address" +bsmith@aol.com             "571 Sorry, too much spam is your address"\\ 
-LVLOVE@aol.com             "571 No more spam !" +LVLOVE@aol.com             "571 No more spam !"\\ 
-scottgreen132@hotmail.com  "571 No more spam !" +scottgreen132@hotmail.com  "571 No more spam !"\\ 
-nppi.edu.tw                "571 Sorry, too much spam is your domain" +nppi.edu.tw                "571 Sorry, too much spam is your domain"\\ 
- +\\ 
-  +\\ 
- +**/etc/sendmail.cw** - do tohohle souboru zapsat všechny domény, pro které náš server přijímá poštu. Úmyslně zdůrazňuji slovo přijímá, protože zde naopak nesmí být uvedeny domény, pro které je pošta MX-záznamy v DNS směrovaná dále (na zákazníkův počítač).\\ 
-**/etc/sendmail.cw** - do tohohle souboru zapsat všechny domény, pro které náš server přijímá poštu. Úmyslně zdůrazňuji slovo přijímá, protože zde naopak nesmí být uvedeny domény, pro které je pošta MX-záznamy v DNS směrovaná dále (na zákazníkův počítač). +\\ 
- +**/etc/mail/aliases** - zde se ke každému poštovnímu jménu může přiřadit poštovní přezdívka. Nebo se v tomto souboru dá přesměrovat pošta na jinou adresu. Možností využití je několik:\\ 
-**/etc/mail/aliases** - zde se ke každému poštovnímu jménu může přiřadit poštovní přezdívka. Nebo se v tomto souboru dá přesměrovat pošta na jinou adresu. Možností využití je několik: +\\ 
- +**hromadné adresy:**\\ 
-**hromadné adresy:** +\\ 
- +**zakaznici:**      :include:/etc/mail/vsichni.list\\ 
-**zakaznici:**      :include:/etc/mail/vsichni.list +**web:**            :include:/etc/mail/webmasters.list\\ 
-**web:**            :include:/etc/mail/webmasters.list +\\ 
- +pomocí tohoto zápisu je možné zasláním jednoho mailu na adresu web@domena.cz informovat všechny webmastery. Jejich emailove adresy jsou vyjmenovány v souboru **/etc/mail/webmasters.list** a jsou odděleny čárkami.\\ 
-pomocí tohoto zápisu je možné zasláním jednoho mailu na adresu web@domena.cz informovat všechny webmastery. Jejich emailove adresy jsou vyjmenovány v souboru **/etc/mail/webmasters.list** a jsou odděleny čárkami. +\\ 
- +**poštovní přezdívky:**\\ 
-**poštovní přezdívky:** +\\ 
- +**martin:**         smartin\\ 
-**martin:**         smartin +**Martin.Patka:**   smartin\\ 
-**Martin.Patka:**   smartin +**Patka.Martin:**   smartin\\ 
-**Patka.Martin:**   smartin +\\ 
- +Tímto způsobem je možný si zajistit příjem pošty i na více ve skutečnosti neexistujících adres.\\ 
-Tímto způsobem je možný si zajistit příjem pošty i na více ve skutečnosti neexistujících adres. +\\ 
- +**přesměrování pošty:**\\ 
-**přesměrování pošty:** +\\ 
- +**nehoda:**       +420603000000@sms.paegas.cz\\ 
-**nehoda:**       +420603000000@sms.paegas.cz +**nekdo:**        nekam@krakonos.cz\\ 
-**nekdo:**        nekam@krakonos.cz +**martin.pager:** +420603000000@sms.paegas.cz\\ 
-**martin.pager:** +420603000000@sms.paegas.cz +**karel.pager:**  +420603000000@sms.paegas.cz\\ 
-**karel.pager:**  +420603000000@sms.paegas.cz +\\ 
- +Takto je možno směrovat poštu i pro neexistující poštovní boxy (existující se dají směrovat souborem .forward v domovském adresáři)\\ 
-Takto je možno směrovat poštu i pro neexistující poštovní boxy (existující se dají směrovat souborem .forward v domovském adresáři) +\\ 
- +vlastní poštovní server zákazníka:\\ 
-vlastní poštovní server zákazníka: +\\ 
- +Pokud má zákazník vlastní poštovní server (třeba Win Proxy) nebo alespoň používá nabídku "Pomocník pro doručenou poštu" v MS Outlook Express může přijímat více poštovních adres do jednoho mail-boxu.\\ 
-Pokud má zákazník vlastní poštovní server (třeba WinProxy) nebo alespoň používá nabídku "Pomocník pro doručenou poštu" v MS Outlook Express může přijímat více poštovních adres do jednoho mail-boxu. +\\ 
- +vyvoj.firma:          firma\\ 
-vyvoj.firma:          firma +expedice.firma:       firma\\ 
-expedice.firma:       firma +reditel.firma:        firma\\ 
-reditel.firma:        firma +ucetni.firma:         firma\\ 
-ucetni.firma:         firma +\\ 
- +Pokud běží na serveru více domén, pro které sendmail přijímá poštu, tak se již konkrétní doména nerozlišuje. Sendmail prostě poštu přijme bez ohledu na jméno, které je před @, a doménové jméno, které je za @ zase vyhodnocuje jen podle souboru /etc/sendmail.cw. Konečné doručení pošty zajišťuje procmail, a tomu je zase doménové jméno naprosto lhostejné. V konečném důsledku to znamená, že každý uživatel, který má na serveru mail-box, může přijímat poštu s jakýmkoliv doménovým jménem, pro které sendmail poštu přijímá. Pokud například na serveru běží doména  mikroservis.cz a semily.cz, tak s uživatelským jménem smartin používat adresy jak smartin@mikroservis.cz, tak i smartin@semily.cz . To může být v některých případech na závadu, například při výskytu požadavku na stejné jméno v různých doménách (nejtypičtější jsou adresy typu info@ , webmaster@ apod.). Zde musí přijít ke slovu další konfigurační soubor, a to:\\ 
-Pokud běží na serveru více domén, pro které sendmail přijímá poštu, tak se již konkrétní doména nerozlišuje. Sendmail prostě poštu přijme bez ohledu na jméno, které je před @, a doménové jméno, které je za @ zase vyhodnocuje jen podle souboru /etc/sendmail.cw. Konečné doručení pošty zajišťuje procmail, a tomu je zase doménové jméno naprosto lhostejné. V konečném důsledku to znamená, že každý uživatel, který má na serveru mail-box, může přijímat poštu s jakýmkoliv doménovým jménem, pro které sendmail poštu přijímá. Pokud například na serveru běží doména  mikroservis.cz a semily.cz, tak s uživatelským jménem smartin používat adresy jak smartin@mikroservis.cz, tak i smartin@semily.cz . To může být v některých případech na závadu, například při výskytu požadavku na stejné jméno v různých doménách (nejtypičtější jsou adresy typu info@ , webmaster@ apod.). Zde musí přijít ke slovu další konfigurační soubor, a to: +\\ 
- +\\ 
-  +**/etc/mail/virtusertable** - směrování pošty celých domén do jednoho mail-boxu. Jde ale i některé adesy vyjmout a směrovat do jiného mail-boxu nebo dokonce i na jinou adresu. Vyhodnocování se děje shora dolů, takže ty selektivní adresy musí být jako první, a na konci teprve "zbytek" (viz první tři řádky). Na čtvrtém a pátém řádku jsou tzv. sběrné koše pro doménovou poštu, kdy adresa cokoliv@kozakov.cz příjde do mailboxu "charlie". Na posledních dvou řádcích je naznačeno řešení popsané v minulém odstavci (shoda jmen s různou doménou).\\ 
- +\\ 
-**/etc/mail/virtusertable** - směrování pošty celých domén do jednoho mail-boxu. Jde ale i některé adesy vyjmout a směrovat do jiného mail-boxu nebo dokonce i na jinou adresu. Vyhodnocování se děje shora dolů, takže ty selektivní adresy musí být jako první, a na konci teprve "zbytek" (viz první tři řádky). Na čtvrtém a pátém řádku jsou tzv. sběrné koše pro doménovou poštu, kdy adresa cokoliv@kozakov.cz příjde do mailboxu "charlie". Na posledních dvou řádcích je naznačeno řešení popsané v minulém odstavci (shoda jmen s různou doménou).  +vedeni@tofa.cz        tofa@mbox.vol.cz\\ 
- +info@tofa.cz          tofa@mbox.vol.cz\\ 
-vedeni@tofa.cz        tofa@mbox.vol.cz +@tofa.cz              tofa@mikroservis.cz\\ 
-info@tofa.cz          tofa@mbox.vol.cz +@kozakov.cz           charlie@mikroservis.cz\\ 
-@tofa.cz              tofa@mikroservis.cz +@semily.cz            semily@mikroservis.cz\\ 
-@kozakov.cz           charlie@mikroservis.cz +info@mikroservis.cz   smartin@mikroservis.cz\\ 
-@semily.cz            semily@mikroservis.cz +info@proaktiv.cz      proaktiv@mikroservis.cz\\ 
-info@mikroservis.cz   smartin@mikroservis.cz +\\ 
-info@proaktiv.cz      proaktiv@mikroservis.cz +Výše popsaný problém s vícenásobnými doménovými adresami mně až zase tak moc netrápí, i když na našem serveru běží již více než  100 domén - co zákazník neví, to nepoužije. Pokud by to však na závadu bylo, nenapadá mně jiné řešení, než v souboru **/etc/mail/virtusertable** vyjmenovat postupně všechny zákazníky pro danou doménu a na konci udělat "sběrný koš", směrovaný třeba na blackhole (/dev/null). A to zopakovat pro všechny domény, které nepoužívají samostatný sběrný koš. Ovšem tohle by ve větším měřítku ručně udržovat nešlo.\\ 
- +\\ 
-Výše popsaný problém s vícenásobnými doménovými adresami mně až zase tak moc netrápí, i když na našem serveru běží již více než  100 domén - co zákazník neví, to nepoužije. Pokud by to však na závadu bylo, nenapadá mně jiné řešení, než v souboru **/etc/mail/virtusertable** vyjmenovat postupně všechny zákazníky pro danou doménu a na konci udělat "sběrný koš", směrovaný třeba na blackhole (/dev/null). A to zopakovat pro všechny domény, které nepoužívají samostatný sběrný koš. Ovšem tohle by ve větším měřítku ručně udržovat nešlo. +**/etc/mail/domaintable** - směrování pošty pro celou doménu na jiný počítač.\\ 
- +\\ 
-**/etc/mail/domaintable** - směrování pošty pro celou doménu na jiný počítač. +**Například:**\\ 
- +\\ 
-**Například:** +ontex.cz      ontex.mikroservis.cz\\ 
- +dianag.cz     diana.mikroservis.cz\\ 
-ontex.cz      ontex.mikroservis.cz +\\ 
-dianag.cz     diana.mikroservis.cz +domény ontex.cz a dianag.cz běží jako virtuální WWW na našem serveru, avšak tyto firmy mají pevnou linku a svůj gateway do sítě. Tento gateway (linux + masquerade) slouží i jako mail-server. Takže se pošta přesměruje na jejich počítač (ontex.mikroservis.cz nebo diana.mikroservis.cz). Tato kombinace je volena ze dvou důvodů - buď má zákazník relativně pomalou pevnou linku (jen 33.6k) nebo má na pevné lince měřený objem dat. V obou případech je tedy vhodnější, aby WWW-stránky (a tedy i domény) běžely na našem serveru a pošta byla takto směrována. Pokud je však přístup k DNS těchto domén, je však toto jednodušší vyřešit změnou MX-záznamů.\\ 
- +\\ 
-domény ontex.cz a dianag.cz běží jako virtuální WWW na našem serveru, avšak tyto firmy mají pevnou linku a svůj gateway do sítě. Tento gateway (linux + masquerade) slouží i jako mail-server. Takže se pošta přesměruje na jejich počítač (ontex.mikroservis.cz nebo diana.mikroservis.cz). Tato kombinace je volena ze dvou důvodů - buď má zákazník relativně pomalou pevnou linku (jen 33.6k) nebo má na pevné lince měřený objem dat. V obou případech je tedy vhodnější, aby WWW-stránky (a tedy i domény) běžely na našem serveru a pošta byla takto směrována. Pokud je však přístup k DNS těchto domén, je však toto jednodušší vyřešit změnou MX-záznamů. +**/etc/mail/mailertable** - tento soubor se využije například v případě, kde vedle linuxového serveru, který dělá bránu do Internetu, běží ve vnitřní síti (192.168..) třeba Novell, nebo Lotus, a veškerá pošta se vyřizuje na těchto vnitřních serverech. Protože tyto servery nemají platnou IP-adresu, nelze na ně poštu směrovat pomocí MX-záznamů v DNS.\\ 
- +\\ 
-**/etc/mail/mailertable** - tento soubor se využije například v případě, kde vedle linuxového serveru, který dělá bránu do Internetu, běží ve vnitřní síti (192.168..) třeba Novell, nebo Lotus, a veškerá pošta se vyřizuje na těchto vnitřních serverech. Protože tyto servery nemají platnou IP-adresu, nelze na ně poštu směrovat pomocí MX-záznamů v DNS.  +estrela.cz    smtp:lnotes\\ 
- +\\ 
-estrela.cz    smtp:lnotes +kde jméno počítače "lnotes" musí být definováno v souboru /etc/hosts. Na oddělení položek se zde MUSÍ použít tabelátor !, nikoliv mezery.\\ 
- +\\ 
-kde jméno počítače "lnotes" musí být definováno v souboru /etc/hosts. Na oddělení položek se zde MUSÍ použít tabelátor !, nikoliv mezery. +**/etc/mail/genericstable** - slouží k přepisování hlaviček pro odchozí poštu pro virtuální domény. Normálně sendmail do odchozí pošty zadává jméno mail-serveru, což se někomu nemusí líbit.\\ 
- +\\ 
-**/etc/mail/genericstable** - slouží k přepisování hlaviček pro odchozí poštu pro virtuální domény. Normálně sendmail do odchozí pošty zadává jméno mail-serveru, což se někomu nemusí líbit. +pavel    pavel@efg.cz\\ 
- +\\ 
-pavel    pavel@efg.cz +Takže uživatel pavel bude mít v odchozí hlavičce mailu změněnou adresu na pavel@efg.cz , i kdyz poštovní server je mikros.mikroservis.cz. Využití je dle mého názoru celkem minimální. Položky musí být odděleny tabelátorem!\\ 
- +\\ 
-Takže uživatel pavel bude mít v odchozí hlavičce mailu změněnou adresu na pavel@efg.cz , i kdyz poštovní server je mikros.mikroservis.cz. Využití je dle mého názoru celkem minimální. Položky musí být odděleny tabelátorem! +\\ 
- +Všechny vyjmenované soubory musí projít konverzí do .db - tvaru.  Převod z textového tvaru do tvaru .db probíhá u souboru **/etc/mail/aliases** zadáním příkazu //newaliases//, u ostatních se musí zadat "makemap hash soubor < soubor". Protože však všechny soubory (mimo /etc/mail/aliases) načítá sendmail pouze v okamžiku spuštění, a startovací script **/etc/rc.d/init.d/sendmail** již obsahuje příkazy pro tento převod, stačí po každé změně jen restartovat sendmail a nějaké převody nás nemusejí zajímat. Pouze v případě použití genericstable je potřeba startovací script poupravit a genericstable do něj doplnit. Patřičný řádek pak vypadá takto:\\ 
-  +\\ 
- +   for i in virtusertable access domaintable mailertable genericstable; do\\ 
-Všechny vyjmenované soubory musí projít konverzí do .db - tvaru.  Převod z textového tvaru do tvaru .db probíhá u souboru **/etc/mail/aliases** zadáním příkazu //newaliases//, u ostatních se musí zadat "makemap hash soubor < soubor". Protože však všechny soubory (mimo /etc/mail/aliases) načítá sendmail pouze v okamžiku spuštění, a startovací script **/etc/rc.d/init.d/sendmail** již obsahuje příkazy pro tento převod, stačí po každé změně jen restartovat sendmail a nějaké převody nás nemusejí zajímat. Pouze v případě použití genericstable je potřeba startovací script poupravit a genericstable do něj doplnit. Patřičný řádek pak vypadá takto: +\\ 
- +Nyní nastal čas přikročit k vlastní konfiguraci sendmailu. Ta se provádí v souboru **/etc/sendmail.mc.** Zřejmě nejdůležitější změnou je zákaz příjmu pošty z domén, které nejdou zpětně resolvovat. To se zajistí smazáním nebo zakomentováním řádku (pro komentář se zde používá sekvence "dnl")\\ 
-   for i in virtusertable access domaintable mailertable genericstable; do +\\ 
- +**dnl FEATURE(`accept_unresolvable_domains')**\\ 
-Nyní nastal čas přikročit k vlastní konfiguraci sendmailu. Ta se provádí v souboru **/etc/sendmail.mc.** Zřejmě nejdůležitější změnou je zákaz příjmu pošty z domén, které nejdou zpětně resolvovat. To se zajistí smazáním nebo zakomentováním řádku (pro komentář se zde používá sekvence "dnl"+\\ 
- +Dále zde nejsou implicitně vyhodnocovány genericstable a domaintable. Pro jejich použití stačí doplnit:\\ 
-**dnl FEATURE(`accept_unresolvable_domains')** +\\ 
- +FEATURE(`genericstable',`hash -o /etc/mail/genericstable')\\ 
-Dále zde nejsou implicitně vyhodnocovány genericstable a domaintable. Pro jejich použití stačí doplnit: +FEATURE(`domaintable',`hash -o /etc/mail/domaintable')\\ 
- +\\ 
-FEATURE(`genericstable',`hash -o /etc/mail/genericstable'+a následující řádky zajistí mírné restrikce - maximální velikost jednoho mailu může být 2000000 bytů, ale pozor - tato hodnota je už po transportním překódování (MIME...), takže vstupní velikost mailu je někde okolo 1.7MB. A druhý řádek omezí maximální počet adresátů jednoho e-mailu na 10.\\ 
-FEATURE(`domaintable',`hash -o /etc/mail/domaintable'+\\ 
- +define(`confMAX_MESSAGE_SIZE',`2000000')\\ 
-a následující řádky zajistí mírné restrikce - maximální velikost jednoho mailu může být 2000000 bytů, ale pozor - tato hodnota je už po transportním překódování (MIME...), takže vstupní velikost mailu je někde okolo 1.7MB. A druhý řádek omezí maximální počet adresátů jednoho e-mailu na 10.  +define(`confMAX_RCPTS_PER_MESSAGE',`10')\\ 
- +\\
-define(`confMAX_MESSAGE_SIZE',`2000000'+
-define(`confMAX_RCPTS_PER_MESSAGE',`10'+
 Dále je z hlediska nežádoucího relayingu vhodné povolit volbu "relay_based_on_MX", ale někde jsem zahlédl upozornění, že v některých případech to může přinést problémy u "překládaných" adres typu jméno%domena.cz@jina.domena.cz . V takovém případě je prý vhodná ještě volba "loose_relay_check". Hlouběji jsem po tom nepátral, a ten druhý řádek jsem raději doplnil:  Dále je z hlediska nežádoucího relayingu vhodné povolit volbu "relay_based_on_MX", ale někde jsem zahlédl upozornění, že v některých případech to může přinést problémy u "překládaných" adres typu jméno%domena.cz@jina.domena.cz . V takovém případě je prý vhodná ještě volba "loose_relay_check". Hlouběji jsem po tom nepátral, a ten druhý řádek jsem raději doplnil: 
  
Řádek 185: Řádek 182:
 hosts files hosts files
  
-a do souboru **/etc/sendmail.cf** přidat řádek: +a do souboru **/etc/sendmail.cf** přidat řádek:\\ 
-//O ServiceSwitchFile=/etc/services.switch//+\\ 
 +O ServiceSwitchFile=/etc/services.switch
/usr/local/www/dokuwiki/data/attic/shared/mailserver_sendmail.1243582527.txt.gz · Poslední úprava: autor: strnad@icpf.cas.cz

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki