Co budeme od daného malého domácí email-serveru požadovat? Přijímaní pošty ze všech externích schránek, ukládání na disk v serveru a pochopitelně přístup k této poště pomocí IMAP. Dále by mohl umět poštu odesílat.
Instalace a konfigurace postfixu
Instalace je jednoduchá, stačí jako root provést příkaz
yum install postfix,
případně, pokud byl nainstalovám, odinstalovat sendmail
yum remove sendmail.
Pak v souboru /etc/postfix/main.cf
změníme řádek s home_mailbox
na
home_mailbox = Maildir/
Emaily tedy budeme chtít ukládat ve formátu maildir.
Ve stejném souboru, tedy /etc/postfix/main.cf
ještě nastavíme síťové rozhraní na kterých má postfix očekávat připojení. Pokud není potřeba funkce SMTP serveru (na odesílání pošty z emailových klientů), necháme původní nastavení na localhost
, pro zprovoznění SMTP je ovšem nutné nastavit:
inet_interfaces = all
tj, naslouchat na všech síťových rozhranní. Předpokladem tohoto ovšem je správně nastavený firewall – nevytváříme relay server pro šíření spamu :-).
Tímto je instalace postfixu hotová.
Instalace IMAP, POP3, …. serveru dovecot
Dovecot je ve fedoře defaultně nastaven na IMAP a POP, takže veškerá konfigurace se zůží na:
yum install dovecot
Nastavení spouštění démonů
Máme nakonfigurováno, pro projevení změn služby restartujeme:
service postfix restart service dovecot restart
a nastavíme jejich spouštění při startu serveru:
chkconfig postfix on chkconfig dovecot on
V této chvíli by měl server fungovat. Zkusíme nastavit poštovního klienta, odeslat a přijmout testovací email.
Poznámka: nastavení mutt na maildir
Předchozí konfigurace má za následek jednu menší komplikaci. I systémové emaily se budou ukládat do MailDiru, tj je potřeba nastavit konzolového klienta mutt na čtení zpráv z MailDiru. Jedná se hlavně o emaily pro roota, které asi nebudeme chtít přijímat přes IMAP do emailového klienta.
Do souboru ~/.muttrc
stačí přidat následující řádky:
set folder="~/Maildir/" set mbox="~/Maildir/" set mbox_type=Maildir set spoolfile="~/Maildir/"
Příjem pošty z externích schránek
K tomu slouží utilita fetchmail
, kterou nainstalujeme obligátním příkazem:
yum install fetchmail
Zbývá vytvořit konfigurační soubor s příslušnými právy (v souboru jsou umístěna hesla k externím schránkám a fetchmail jej odmítne pokud má nastavená příliš štědrá práva)
touch ~/.fetchmailrc chmod 600 ~/.fetchmailrc
Nyní stačí otevřít soubor ~/.fetchmailrc
v oblíbeném editoru a podle následujícího vzoru nakonfigurovat externí schránky – jeden řádek odpovídá jedné schránce:
poll pop.gmail.com protocol POP3 user "uzivatel@gmail.com" there with password "heslo" ssl
Po té by měl fetchmail stahovat poštu. Vyzkoušíme to příkazem fetchmail
. Pokud je vše v pořádku, nastavíme si přijímání pošty v cronu
každých 5 minut:
*/5 * * * * /usr/bin/fetchmail >/dev/null
A to je celé. Pokud se vše povedlo, během 10 minut máme funkční emailový-ukládací server.