Table of Contents

Mailcow Mail Server - Przewodnik na start

Ten serwer jest dostarczany z Mailcow – w pełni opartym na Dockerze pakietem serwera pocztowego obejmującym wysyłanie i odbieranie wiadomości e-mail, webmail (SOGo), ochronę antyspamową (Rspamd), program antywirusowy (ClamAV) oraz panel administracyjny. Domena pocztowa i hasło administratora są konfigurowane automatycznie na podstawie danych podanych podczas składania zamówienia.


Krok 1 – Sprawdź, czy Mailcow działa poprawnie

Adres IP serwera oraz hasło użytkownika root znajdują się w sekcji Informacje o serwerze na karcie Przegląd w panelu klienta. Otwórz w przeglądarce adres https://your.server.ip. Przeglądarka wyświetli ostrzeżenie dotyczące certyfikatu z podpisem własnym (self-signed) – jest to normalne, przejdź dalej do strony.

Na stronie logowania kliknij na dole „Log in as administrator”. Następnie wprowadź dane administratora:

  • Nazwa użytkownika: admin
  • Hasło: hasło administratora podane podczas składania zamówienia

Ważne: Domyślna strona logowania przeznaczona jest dla użytkowników skrzynek pocztowych (logowanie do poczty). Panel administracyjny posiada oddzielne logowanie – użyj odnośnika znajdującego się na dole strony.

Jeśli widzisz panel administracyjny Mailcow, oznacza to, że wszystko działa poprawnie.

Jeżeli serwer został umieszczony za routerem VyOS w sieci prywatnej, skonfiguruj przekierowanie portów 22 (SSH), 25 (SMTP), 80 (HTTP), 443 (HTTPS), 587 (Submission), 993 (IMAP) oraz 995 (POP3). Serwer pocztowy musi być dostępny z Internetu, aby mógł wysyłać i odbierać wiadomości e-mail.


Krok 2 – Skonfiguruj rekordy DNS

Prawidłowa konfiguracja DNS jest kluczowa dla dostarczania wiadomości e-mail. Bez poprawnych rekordów Twoje wiadomości będą odrzucane lub oznaczane jako spam. Przejdź do ustawień DNS u rejestratora domeny i dodaj poniższe rekordy (zamień your.server.ip na rzeczywisty adres IP serwera, a example.com na swoją domenę):

Typ Nazwa Wartość
A mail your.server.ip
MX @ mail.example.com (priorytet 10)
TXT @ v=spf1 mx a -all
TXT _dmarc v=DMARC1; p=quarantine; rua=mailto:postmaster@example.com
CNAME autodiscover mail.example.com
CNAME autoconfig mail.example.com

Rekord DKIM: Po zalogowaniu do panelu administracyjnego przejdź do ConfigurationARC/DKIM keys, aby pobrać klucz DKIM. Następnie dodaj:

Typ Nazwa Wartość
TXT dkim._domainkey (skopiuj z panelu administracyjnego Mailcow)

Reverse DNS (rekord PTR): Skontaktuj się z pomocą techniczną, aby ustawić rekord PTR dla adresu IP serwera na mail.example.com. Jest to wymagane do prawidłowego dostarczania wiadomości e-mail.

Zmiany w DNS zazwyczaj zaczynają działać po kilku minutach, jednak pełna propagacja może potrwać do 24 godzin. Status możesz sprawdzić na stronie dnschecker.org.


Krok 3 – Utwórz skrzynki pocztowe

W panelu administracyjnym:

  1. Przejdź do E-MailMailboxes
  2. Kliknij Add mailbox
  3. Wprowadź nazwę użytkownika (np. info), ustaw hasło i kliknij Add
  4. Nowa skrzynka pocztowa (np. info@example.com) jest gotowa do użycia

Użytkownicy mogą korzystać z webmaila (SOGo) pod adresem https://your.server.ip/SOGo – zaloguj się, używając pełnego adresu e-mail oraz hasła do skrzynki.


Po instalacji

Certyfikat SSL z Let’s Encrypt

Mailcow posiada wbudowaną obsługę Let’s Encrypt. Gdy rekord A (mail.example.com) będzie wskazywał na serwer i propagacja DNS zostanie zakończona, upewnij się, że w pliku mailcow.conf ustawiono SKIP_LETS_ENCRYPT=n, a następnie uruchom ponownie usługi:

cd /opt/mailcow-dockerized docker compose down && docker compose up -d

Mailcow automatycznie pobierze oraz będzie odnawiać certyfikat.

Konfiguracja klienta poczty

Aby skonfigurować klienta poczty (Outlook, Thunderbird, urządzenie mobilne), użyj poniższych ustawień:

Protokół Serwer Port Zabezpieczenia
IMAP mail.example.com 993 SSL/TLS
SMTP mail.example.com 587 STARTTLS
POP3 mail.example.com 995 SSL/TLS

Nazwą użytkownika jest pełny adres e-mail (np. info@example.com). Jeśli skonfigurowano rekordy DNS autodiscover oraz autoconfig, większość klientów pocztowych wykryje te ustawienia automatycznie.

Dodawanie domen

Na jednym serwerze Mailcow możesz obsługiwać wiele domen pocztowych:

  1. Przejdź do ConfigurationMail SetupDomains
  2. Kliknij Add domain i wprowadź nazwę nowej domeny
  3. Skonfiguruj rekordy DNS dla nowej domeny (MX, SPF, DKIM, DMARC), postępując zgodnie z instrukcjami z Kroku 2
  4. Utwórz skrzynki pocztowe dla nowej domeny

Fail2Ban – Ochrona przed atakami brute-force

Serwer jest dostarczany z prekonfigurowanym Fail2Ban, który chroni usługę SSH przed atakami brute-force. Mailcow posiada również własny mechanizm ochrony przed atakami brute-force dla SMTP, IMAP, POP3 oraz panelu administracyjnego. Możesz go skonfigurować w panelu administracyjnym w sekcji SystemConfigurationFail2ban parameters.

Reguła Maksymalna liczba prób Czas blokady
SSH (host)5 nieudanych logowań10 minut

Przydatne polecenia:

# Sprawdź zablokowane adresy IP fail2ban-client status sshd # Odblokuj adres IP fail2ban-client set sshd unbanip 1.2.3.4

Jeśli przypadkowo zablokujesz sobie dostęp, połącz się z serwerem przez konsolę VNC w panelu klienta i odblokuj swój adres IP.

Zarządzanie usługami

# Sprawdź status cd /opt/mailcow-dockerized && docker compose ps # Uruchom ponownie wszystkie usługi docker compose down && docker compose up -d # Wyświetl logi docker compose logs -f –tail=100

Kopie zapasowe

Mailcow zawiera wbudowany skrypt do tworzenia kopii zapasowych:

# Utwórz kopię zapasową cd /opt/mailcow-dockerized ./helper-scripts/backup_and_restore.sh backup all –delete-days 7 # Automatyczne codzienne kopie zapasowe (dodaj do crontab -e) 0 3 * * * cd /opt/mailcow-dockerized && ./helper-scripts/backup_and_restore.sh backup all –delete-days 7

Domyślnie kopie zapasowe są przechowywane w katalogu /var/backups/mailcow.

Aktualizacje

Aby zaktualizować Mailcow oraz pakiety systemowe:

# Zaktualizuj Mailcow cd /opt/mailcow-dockerized && sudo ./update.sh # Zaktualizuj pakiety systemowe apt update && apt upgrade -y

Dołączone oprogramowanie

Komponent Szczegóły
Ubuntu24.04 LTS
Docker CENajnowsza wersja
MailcowNajnowsza wersja (Docker)
PostfixSerwer SMTP
DovecotSerwer IMAP / POP3
SOGoKlient poczty Webmail
ClamAVProgram antywirusowy
RspamdOchrona antyspamowa
Fail2BanOchrona przed atakami brute-force

Rozwiązywanie problemów

Problem Rozwiązanie
Brak dostępu do panelu WWW Sprawdź, czy kontenery są uruchomione: cd /opt/mailcow-dockerized && docker compose ps. W razie potrzeby uruchom je ponownie: docker compose down && docker compose up -d
Strona logowania wymaga podania adresu e-mail Domyślna strona logowania przeznaczona jest dla użytkowników skrzynek pocztowych. Kliknij „Log in as administrator” na dole strony, aby przejść do logowania administratora.
Wiadomości trafiają do spamu Sprawdź rekordy DNS: SPF, DKIM i DMARC muszą być poprawnie skonfigurowane. Zweryfikuj rekord PTR poleceniem dig -x your.server.ip. Przetestuj konfigurację na stronie mail-tester.com.
Nie można wysyłać ani odbierać wiadomości e-mail Sprawdź rekord MX: dig MX example.com. Upewnij się, że port 25 nie jest blokowany przez dostawcę usług internetowych. Sprawdź logi: cd /opt/mailcow-dockerized && docker compose logs postfix-mailcow.
Certyfikat Let’s Encrypt nie został wydany Upewnij się, że MAILCOW_HOSTNAME w pliku mailcow.conf odpowiada rekordowi DNS A oraz że ustawiono SKIP_LETS_ENCRYPT=n. Sprawdź logi: docker compose logs acme-mailcow.
ClamAV nie jest gotowy / wysokie zużycie pamięci Przy pierwszym uruchomieniu ClamAV pobiera bazy sygnatur wirusów (około 300 MB). Może to potrwać kilka minut. Sprawdź logi: docker compose logs clamd-mailcow.
Zapomniane hasło administratora Zresetuj je przez SSH:
cd /opt/mailcow-dockerized && docker compose exec -T mysql-mailcow mysql -umailcow -p$(grep DBPASS mailcow.conf | cut -d= -f2) mailcow -e „UPDATE admin SET password='{SSHA256}’ WHERE username=’admin’;”
Następnie zaloguj się przy użyciu dowolnego hasła i zmień je w panelu administracyjnym.
Adres IP został zablokowany przez Fail2Ban Skorzystaj z konsoli VNC dostępnej w panelu klienta, aby odblokować swój adres IP.
Zapomniane hasło użytkownika root Skorzystaj z konsoli VNC w panelu klienta, aby je zresetować.