Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Sendmail: pošťák pro malou síť

V tomto článku si ukážeme další praktické využití sednamilu. Rozšíříme si příklad z minulého článku a vytvoříme funkční poštovní server pro malou firmu. Antivir a antispam už máme a přidáme ještě uživatele, přesměrování a další důležité vlastnosti. Někdo má rád procmail, tak se podíváme i na něj.

Tweetni to Twitter Jaggni to! Jagg Del.icio.us Delicious

V celém seriálu se zatím trochu vyhýbám teorii. Kdo chce vědět víc, může se prozatím podívat na starší seriál Pošta pro každého – díl 1, díl 2, díl 3.

Z minulého dílu máme nakonfigurovaný antivir, antispam a poštu předáváme na vnitřní poštovní server. Vše se ale může odehrávat na jednom stroji. Popsané řešení je vhodné pro malou firmu s několika uživateli, používám ho do několika desítek mailových schránek. Někdo může vidět nevýhodu v tom, že co mailbox, to jeden uživatelský účet v systému. Dost správců dnes preferuje vpopmail, uživatele v mysql databázi, … Ale pro pár účtů mi to přijde zbytečné, rozbíhat další démony.

Přesuneme se opět do adresáře /etc/mail, v něm bude většina úprav. Nejprve si založíme soubor local-host-names a do něj si vložíme jméno naší domény:

firma.cz

Tím sendmailu říkáme, že poštu pro doménu firma.cz má zpracovávat lokálně. Druhá úprava spočívá v odstranění řádku v souboru  mailertable:

firma.cz               smtp:exchange.firma.cz

Tím je zajištěno, že pošta se nebude směrovat nikam dál.

Teď si založíme uživatele, třeba pomocí příkazu adduser (někdo preferuje pw, na tom nezáleží). Uživatelům můžete zabránit se přihlašovat třeba zvolením shellu nologin. Pokud si vytvoříme uživatele mirek, bude mailová adresa mirek@firma.cz.

To se nám samozřejmě líbit nemusí, někdo má radši adresy ve formátu jmeno.prijmeni@firma.cz. V tom případě přichází na řadu soubor /etc/mail/aliases. Jeho formát je jednoduchý, na levé straně je alias, na pravé je schránka, do které bude zpráva doručena. Takže si můžeme přidat třeba:

mirek.dlouhy:       mirek
mirecek:            mirek

Když pak náš sendmail přijme poštu pro mirecek@firma.cz nebo mirek.dlouhy@firma.cz, bude doručeno do schránky mirek. Samozřejmě bude platná i adresa mirek@firma.cz.

Aliases umí mnohem víc. Můžete si tu třeba založit distribuční skupinu:

vedeni:        mirek, jana, velkysef

Co potom přijde na vedeni@firma.cz, rozešle se do schránek mirek, jana a velkysef. Pokud uživatel mirek požaduje posílat kopii zpráv na jinou adresu, opět stačí záznam v aliases:

mirek:    \mirek, mirek@jinam.cz

Pokud nechce zprávy zachovávat na server a jen je má přeposílat, stačí řádek:

mirek:    mirek@jinam.cz

Proč je v prvním případě před mirkem zpětné lomítko pěkně vysvětluje tutorial k sendmailu.

Můžeme dokonce některé e-maily předávat programům, ale to už by vydalo na další článek:

program-bugs: |/usr/local/bin/program-bug-tracker

Po úpravě aliases nezapomeňte spustit příkaz newaliases. Ten vygeneruje nový db soubor s aliasy. Stejně je možné použít sendmail -bi. U některých verzí FreeBSD stačí zadat v /etc/mail make a aliasy se také vytvoří.

Dále musíme zajistit, kdo a odkud může posílat e-maily. K tomu slouží soubor /etc/mail/access. Výchozí politika je taková, že jsou odmítány zprávy, které nejsou pro lokální stroj nebo domény vyjmenované v  local-host-names. Můžeme určit, z kterých e-mailových adres, domén nebo přímo IP adres budou e-maily přijaty, odmítnuty nebo zda je náš sendmail předá dál. U nás dovolíme všem ve vnitřní síti posílat kamkoli:

192.168.1                     RELAY

I zde jsou poměrně široké možnosti, můžeme například odmítat poštu od nekdo@nekde.cz, ale dovolíme na ni našim uživatelům psát:

From:nekdo@nekde.cz     REJECT

Možností je více, můžeme zprávy zahazovat, přijmout jen pokud jsou pro naši doménu, vrátit SMTP odpověd s chybou, … Po úpravě nezapomeňte spustit make, aby se opět vytvořila databáze.

Sendmail ve výchozím nastavení doručuje do mailboxů. V jednom souboru jsou za sebou uložené všechny emaily. Někdo má raději maildiry. Oboje má své výhody i nevýhody. Mailboxy jsou v adresáři /var/mail/. Co soubor, to jeden mailbox. Teď si ukážeme, jak udělat maildir. Nainstalujeme procmail:

cd /usr/ports/mail/procmail
make install

a upravíme konfigurační soubor /usr/local/etc/procmailrc

DEFAULT=$HOME/Maildir/

V souboru /etc/mail/mail.firma.cz.mc změníme lokálního doručovatele. Stačí změnit řádek:
MAILER(local) na  MAILER(procmail)

Restartujeme sendmail s upravenou konfigurací:

cd /etc/mail
make
make install
make restart

Pošta se potom ukládá do adresáře Maildir v domovském adresáři uživatele.

davame_internetu_obsah
       

Teď trošku odbočíme od sendmailu, slíbil jsem kompletní řešení. Pošta nám přichází na server, teď ji ještě nějak musíme zprostředkovat uživatelům. Můžeme nainstalovat třeba nějaký jednoduchý pop3 server ( /usr/ports/mail/qpopper, /usr/ports/mail/akpop3d) nebo taky něco šikovnějšího, jako je třeba Dovecot. Konfiguraci nechám na Vás, někdo chce třeba IMAP, někdo SSL. Jediná věc, která je opravdu nutná je nastavit správně místo, kde jsou uložené schránky uživatelů. U maildirů to bude:

mail_location = maildir:~/Maildir

U mailboxů:

mail_location = mbox:~/mail:INBOX=/var/mail/%u

Školení: Linux – Firewall, Samba, VPN

Na třídenním školení se naučíte nainstalovat a spravovat Firewall a Router, SAMBA Doménový a Souborový server. Dále si zprovozníte vlastní, zabezpečený VPN server.

Podrobnější informace a přihláška

Ohodnoťte jako ve škole:
Průměrná známka 2,99

Přehled názorů

RE: Sendmail: pošťák pro malou síť
jirkamailto 10. 11. 2008 02:03
Nový
└ 
RE: Sendmail: pošťák pro malou síť
bluemoon 10. 11. 2008 07:36
Nový
 
└ 
RE: Sendmail: pošťák pro malou síť
bluemoon 10. 11. 2008 07:42
Nový
zapomente na sendmail
CIJOML 10. 11. 2008 09:16
Nový
├ 
Re: zapomente na sendmail
chio 10. 11. 2008 10:17
Nový
│
└ 
Re: zapomente na sendmail
bluemoon 10. 11. 2008 12:30
Nový
│
 
└ 
Re: zapomente na sendmail
CIJOML 10. 11. 2008 12:43
Nový
│
 
 
├ 
Re: zapomente na sendmail
Petr Macek 10. 11. 2008 13:35
Nový
│
 
 
│
└ 
Re: zapomente na sendmail
CIJOML 10. 11. 2008 13:56
Nový
│
 
 
│
 
├ 
Re: zapomente na sendmail
anonymní uživatel 10. 11. 2008 14:20
Nový
│
 
 
│
 
└ 
Re: zapomente na sendmail
Zdenek 10. 11. 2008 14:28
Nový
│
 
 
│
 
 
└ 
Re: zapomente na sendmail
CIJOML 10. 11. 2008 14:38
Nový
│
 
 
│
 
 
 
├ 
Re: zapomente na sendmail
Petr Macek 10. 11. 2008 15:36
Nový
│
 
 
│
 
 
 
├ 
Re: zapomente na sendmail
anonymní uživatel 10. 11. 2008 16:01
Nový
│
 
 
│
 
 
 
└ 
Re: zapomente na sendmail
Zdenek 10. 11. 2008 18:33
Nový
│
 
 
│
 
 
 
 
└ 
Re: zapomente na sendmail
anonymní uživatel 10. 11. 2008 20:26
Nový
│
 
 
│
 
 
 
 
 
└ 
Re: zapomente na sendmail
anonymní uživatel 10. 11. 2008 22:36
Nový
│
 
 
└ 
Re: zapomente na sendmail
anonymní uživatel 10. 11. 2008 15:01
Nový
│
 
 
 
└ 
Re: zapomente na sendmail
CIJOML 10. 11. 2008 15:07
Nový
│
 
 
 
 
└ 
Re: zapomente na sendmail
anonymní uživatel 10. 11. 2008 15:20
Nový
└ 
Re: zapomente na sendmail
JaR 10. 11. 2008 16:19
Nový
 
└ 
Re: zapomente na sendmail
CIJOML 10. 11. 2008 16:25
Nový
 
 
└ 
Re: zapomente na sendmail
JaR 10. 11. 2008 16:43
Nový
 
 
 
└ 
Re: zapomente na sendmail
Petr Macek 10. 11. 2008 16:48
Nový
sendmail
VM 10. 11. 2008 15:48
Nový
└ 
Re: sendmail
JaR 10. 11. 2008 16:37
Nový
Nejjednodussi SMTP program
highway 10. 11. 2008 16:12
Nový
├ 
Re: Nejjednodussi SMTP program
CIJOML 10. 11. 2008 16:23
Nový
│
└ 
Re: Nejjednodussi SMTP program
anonymní uživatel 10. 11. 2008 20:17
Nový
├ 
Re: Nejjednodussi SMTP program
Jindřich Makovička 10. 11. 2008 20:19
Nový
├ 
Re: Nejjednodussi SMTP program
anonymní uživatel 11. 11. 2008 09:00
Nový
└ 
Re: Nejjednodussi SMTP program
Kaacz 15. 1. 2009 07:51
Nový
postfix - prosba o radu
Peter 10. 11. 2008 17:22
Nový
└ 
Re: postfix - prosba o radu
Peter 10. 11. 2008 21:15
Nový
hura
honzan 10. 11. 2008 20:50
Nový
Co takhle resit veci konstruktivne + dotaz
hub(re) 10. 11. 2008 23:01
Nový
└ 
Re: Co takhle resit veci konstruktivne + dotaz
CIJOML 11. 11. 2008 00:10
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem