1.  [Strona główna](/) ›
2.  [Baza wiedzy](/baza-wiedzy/) ›
3.  Dovecot IMAP/POP3 - konfiguracja

# Dovecot IMAP/POP3 - konfiguracja serwera pocztowego

Opublikowano: 10 kwietnia 2026 · Kategoria: VPS / Mail server

⚡ W skrócie · 10 min czytania

-   Dovecot od instalacji po produkcyjną konfigurację: dovecot.conf, backendy auth, Maildir vs mdbox, TLS, LMTP z Postfix, kwoty, Sieve filters.
-   Instalacja i struktura pakietów.
-   dovecot.conf - podstawowa konfiguracja.
-   Autoryzacja - passwd-file vs MySQL.
-   TLS / SSL - szyfrowanie IMAP i POP3.

Dovecot to najpopularniejszy serwer IMAP/POP3 na Linuksie - lekki, bezpieczny i wyjątkowo szybki. W parze z Postfixem tworzy kompletny stack mailowy, na którym stoi większość samohostowanych serwerów pocztowych. Ten przewodnik pokazuje pełną konfigurację od instalacji do uruchomienia, z autoryzacją z pliku i z MySQL, z TLS, integracją LMTP oraz wyborem między Maildir a mdbox.

## Instalacja i struktura pakietów

Dovecot jest podzielony na moduły - instalujesz tylko te, które są potrzebne. W Debianie i Ubuntu typowy zestaw dla serwera IMAP z autoryzacją MySQL i filtrami Sieve wygląda tak:

```
# Ubuntu/Debian - instalacja Dovecota z modułami
sudo apt update
sudo apt install -y dovecot-core dovecot-imapd dovecot-pop3d \
                    dovecot-lmtpd dovecot-mysql dovecot-sieve \
                    dovecot-managesieved

# Sprawdź wersję i dostępne moduły
dovecot --version
# 2.3.19.1 (9b53102964)

dovecot --build-options
# Mails: shared mdbox sdbox maildir mbox ...
# SQL drivers: mysql pgsql sqlite
# Passdb: passwd passwd-file shadow pam ldap sql ...
```

Po instalacji katalog `/etc/dovecot/` zawiera plik główny `dovecot.conf` i podkatalog `conf.d/` z plikami tematycznymi (10-auth.conf, 10-mail.conf, 10-ssl.conf, 10-master.conf itd.). Nie edytuj wszystkiego w jednym pliku - Dovecot wczytuje wszystkie pliki `.conf` z conf.d po kolei.

## dovecot.conf - podstawowa konfiguracja

Poniżej minimalna, ale produkcyjnie używalna konfiguracja główna - włącza IMAP i POP3, wymusza TLS, ustawia ścieżkę do skrzynek użytkowników wirtualnych i loguje do syslog:

```
# /etc/dovecot/dovecot.conf
protocols = imap pop3 lmtp sieve

# Listen tylko na IPv4 + IPv6
listen = *, ::

# Logi
log_path = /var/log/dovecot.log
info_log_path = /var/log/dovecot-info.log
log_timestamp = "%Y-%m-%d %H:%M:%S "

# Include wszystkich plików conf.d
!include conf.d/*.conf
!include_try local.conf
```

```
# /etc/dovecot/conf.d/10-mail.conf
# Lokalizacja skrzynek - %n to nazwa użytkownika, %d to domena
mail_location = maildir:/var/vmail/%d/%n/Maildir

# Użytkownik systemowy posiadający katalogi
mail_uid = vmail
mail_gid = vmail
mail_privileged_group = mail

# Namespace IMAP (INBOX, folders)
namespace inbox {
    inbox = yes
    separator = /
    prefix =
}
```

## Autoryzacja - passwd-file vs MySQL

Dovecot rozróżnia **passdb** (co sprawdza hasło) i **userdb** (skąd bierze UID/GID/home dir). Oba mogą używać różnych backendów. Dla małych instalacji wystarczy plik płaski; dla wielu domen z panelem CMS - MySQL.

```
# /etc/dovecot/conf.d/10-auth.conf - wariant passwd-file
disable_plaintext_auth = yes
auth_mechanisms = plain login

passdb {
    driver = passwd-file
    args = scheme=BLF-CRYPT username_format=%u /etc/dovecot/passwd
}

userdb {
    driver = static
    args = uid=vmail gid=vmail home=/var/vmail/%d/%n
}
```

```
# Utworzenie pliku passwd z hashami bcrypt
sudo touch /etc/dovecot/passwd
sudo chmod 640 /etc/dovecot/passwd
sudo chown root:dovecot /etc/dovecot/passwd

# Dodaj użytkownika (bcrypt)
HASH=$(doveadm pw -s BLF-CRYPT -p 'tajne-haslo-123')
echo "jan@example.com:${HASH}" | sudo tee -a /etc/dovecot/passwd

# Format pliku:
# jan@example.com:{BLF-CRYPT}$2y$05$Bwxjn...
```

```
# /etc/dovecot/conf.d/10-auth.conf - wariant MySQL
# Zakomentuj passdb passwd-file i włącz:
passdb {
    driver = sql
    args = /etc/dovecot/dovecot-sql.conf.ext
}

userdb {
    driver = sql
    args = /etc/dovecot/dovecot-sql.conf.ext
}

# /etc/dovecot/dovecot-sql.conf.ext
driver = mysql
connect = host=127.0.0.1 dbname=mailserver user=mailuser password=tajne
default_pass_scheme = ARGON2ID

password_query = \
  SELECT email as user, password FROM virtual_users WHERE email = '%u'

user_query = \
  SELECT 150 AS uid, 8 AS gid, \
         CONCAT('/var/vmail/', SUBSTRING_INDEX('%u','@',-1), '/', \
                SUBSTRING_INDEX('%u','@',1)) AS home, \
         CONCAT('*:bytes=', quota_bytes) AS quota_rule \
  FROM virtual_users WHERE email = '%u'
```

## TLS / SSL - szyfrowanie IMAP i POP3

Bez TLS hasła latają plain textem. Dovecot obsługuje dwa tryby: STARTTLS (port 143 dla IMAP, 110 dla POP3 - szyfrowanie po handshake) i implicit TLS (port 993 dla IMAPS, 995 dla POP3S - szyfrowanie od pierwszego bajtu). Nowoczesne klienty używają implicit TLS.

```
# /etc/dovecot/conf.d/10-ssl.conf
ssl = required

# Ścieżki do certyfikatów (Let's Encrypt)
ssl_cert = </etc/letsencrypt/live/mail.example.com/fullchain.pem
ssl_key  = </etc/letsencrypt/live/mail.example.com/privkey.pem

# Nowoczesne ciphersuites
ssl_min_protocol = TLSv1.2
ssl_cipher_list = ECDHE+AESGCM:ECDHE+CHACHA20:DHE+AESGCM
ssl_prefer_server_ciphers = yes

# DH parameters (raz, trwa chwilę)
# openssl dhparam -out /etc/dovecot/dh.pem 2048
ssl_dh = </etc/dovecot/dh.pem
```

## Integracja z Postfix przez LMTP

LMTP (Local Mail Transfer Protocol) to preferowany sposób dostarczania poczty z Postfixa do Dovecota. W odróżnieniu od bezpośredniego zapisu do Maildir przez Postfix, LMTP pozwala Dovecotowi wymuszać kwoty i uruchamiać filtry Sieve przy dostarczeniu.

```
# /etc/dovecot/conf.d/10-master.conf - sekcja LMTP
service lmtp {
    unix_listener /var/spool/postfix/private/dovecot-lmtp {
        mode = 0600
        user = postfix
        group = postfix
    }
}

service auth {
    unix_listener /var/spool/postfix/private/auth {
        mode = 0660
        user = postfix
        group = postfix
    }
}
```

```
# /etc/postfix/main.cf - przekazanie lokalnej poczty do Dovecota
virtual_transport = lmtp:unix:private/dovecot-lmtp
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes

# Po zmianach
sudo systemctl restart dovecot postfix
doveadm log test
doveadm auth test jan@example.com
```

## Maildir vs mdbox vs mbox - porównanie

Wybór formatu skrzynek wpływa na wydajność, niezawodność i łatwość backupu. Rekomendacje zależą od rozmiaru skrzynki i rodzaju obciążenia:

Format

Struktura

Wydajność

Backup

Kiedy używać

`Maildir`

Plik per wiadomość (cur/new/tmp)

Dobra do 5k maili

rsync, proste

Małe/średnie skrzynki, prostota

`mdbox`

Pliki po ~2 MB z wieloma wiadomościami

Bardzo dobra

doveadm backup

Duże skrzynki 10k+, SIS

`sdbox`

Jak Maildir ale w formacie Dovecot

Dobra

doveadm backup

Gdy chcesz metadane bez mdbox

`mbox`

Jeden plik na folder (legacy)

Słaba dla concurrent

Problematyczny

Nie używaj - legacy

```
# Migracja z Maildir do mdbox dla istniejącej skrzynki
doveadm backup -u jan@example.com mdbox:/var/vmail/example.com/jan/mdbox

# Zmień mail_location w 10-mail.conf:
# mail_location = mdbox:/var/vmail/%d/%n/mdbox
sudo systemctl restart dovecot
```

## Najczęstsze pytania

Czym różni się Dovecot od Postfixa? +

Postfix to MTA (Mail Transfer Agent) - odbiera i wysyła pocztę między serwerami przez SMTP (port 25/587). Dovecot to MDA/MRA (Mail Delivery/Retrieval Agent) - udostępnia pocztę użytkownikom końcowym przez IMAP (port 143/993) lub POP3 (port 110/995). W typowym stacku Postfix odbiera wiadomość, zapisuje ją do Maildir użytkownika (np. przez LMTP do Dovecot), a klient pocztowy (Thunderbird, Outlook) łączy się z Dovecotem po IMAP aby ją przeczytać. Oba programy są niezależne ale komplementarne.

Maildir czy mdbox - który format wybrać? +

Maildir trzyma każdą wiadomość jako osobny plik (cur/new/tmp) - prosty, niezawodny, łatwy do backupu przez rsync, ale wolny przy dużych skrzynkach (10k+ maili w jednym katalogu to problem dla filesystemu). mdbox (Dovecot-specific) pakuje wiadomości w większe pliki (domyślnie do 2 MB), co drastycznie poprawia wydajność dla dużych skrzynek i daje lepsze wsparcie single-instance storage (duplikaty w załącznikach są przechowywane raz). Dla skrzynek do 5000 wiadomości Maildir jest OK, powyżej rekomendujemy mdbox.

Jak skonfigurować LMTP między Postfix a Dovecot? +

LMTP (Local Mail Transfer Protocol, RFC 2033) to prosty protokół dostarczania lokalnego - Postfix przekazuje wiadomość do Dovecota, który zapisuje ją do Maildir i wymusza kwoty/filtry Sieve. W Dovecocie włącz service lmtp z socketem UNIX (np. /var/spool/postfix/private/dovecot-lmtp). W Postfixie ustaw mailbox\_transport = lmtp:unix:private/dovecot-lmtp. Zyskujesz: kwoty Dovecota respektowane, Sieve filters, server-side sorting, lepsze logi. To standardowy setup produkcyjny.

Czy Dovecot wspiera uwierzytelnianie z bazy MySQL? +

Tak. Dovecot ma backendy auth: passwd (system linuxowy), passwd-file (plik płaski), sql (MySQL/PostgreSQL), ldap, pam. Dla wirtualnych użytkowników (bez kont systemowych) typowym wyborem jest sql z tabelą zawierającą email, password\_hash, quota, home. Plik /etc/dovecot/dovecot-sql.conf.ext definiuje query SELECT password FROM virtual\_users WHERE email = %u. Hashe haseł: ARGON2ID lub BLF-CRYPT (bcrypt). To standard w mail serverach dla wielu domen (ISPmail tutorial).

## Sprawdź oferty pasujące do tego scenariusza

Poniżej masz szybkie przejścia do ofert i stron z kodami rabatowymi tam, gdzie są dostępne.

Contabo

VPS z pełną kontrolą nad portami 25/143/587 - idealny pod własny mail server

VPS

[Aktywuj rabat →](/out/contabo/#reklama "Contabo")

#Reklama · link partnerski

[Zobacz kod rabatowy →](/kody-rabatowe/contabo/)

Mikrus

Tani VPS do testów konfiguracji Postfix + Dovecot

Dev/Test

[Aktywuj rabat →](/out/mikrus/#reklama "Mikrus")

#Reklama · link partnerski

[Zobacz kod rabatowy →](/kody-rabatowe/mikrus/)

LH.pl

Jeśli nie chcesz sam administrować poczty - gotowe skrzynki IMAP z antyspamem

Managed

[Aktywuj rabat →](/out/lh-pl/#reklama "LH.pl")

#Reklama · link partnerski

[Zobacz kod rabatowy →](/kody-rabatowe/lh-pl/)

## Powiązane strony

-   [Email hosting - konfiguracja MX/IMAP/SMTP](/baza-wiedzy/email-hosting-konfiguracja/)
-   [SMTP relay - konfiguracja](/baza-wiedzy/smtp-relay-hosting-konfiguracja/)
-   [SPF, DKIM, DMARC - konfiguracja](/baza-wiedzy/spf-dkim-dmarc-konfiguracja/)
-   [OpenDKIM z Postfixem - konfiguracja](/baza-wiedzy/spf-dkim-dmarc-konfiguracja/)
-   [Wszystkie artykuły](/baza-wiedzy/)
-   [Roundcube webmail - instalacja i konfiguracja z Postfix i Dovecot
    
    Roundcube: instalacja na Ubuntu z Nginx i PHP-FPM, konfiguracja IMAP/SMTP, integracja z Postfix i Dovecot, skórki…
    
    ](/baza-wiedzy/roundcube-webmail/)
-   [Cloudflare z hostingiem - konfiguracja DNS, CDN i SSL
    
    Jak skonfigurować Cloudflare z hostingiem? DNS, tryb SSL Full/Flexible, CDN, cache rules, WAF, Page Rules. Cloudflare z…
    
    ](/baza-wiedzy/cloudflare-konfiguracja-z-hostingiem/)
-   [Jak wybrać hosting?](/jaki-hosting-wybrac/)

Autor: [Redakcja HostGrade.pl](/autorzy/) Zespół redakcyjny · Aktualizacja: 10 kwietnia 2026

Artykuły HostGrade.pl przygotowuje i aktualizuje redakcja serwisu. Ceny startowe, ceny odnowienia i warunki planów sprawdzamy w cennikach i regulaminach dostawców, a potem liczymy całkowity koszt za 2 lata (cena startowa plus odnowienia). Zasady zbierania danych i liczenia kosztów opisujemy na stronie Metodologia. Linki partnerskie oznaczamy jako #reklama.

[O redakcji i metodologii →](/autorzy/)