
Gestire un server di posta elettronica affidabile, sicuro e moderno non è mai stato semplice.
Tuttavia, negli ultimi anni Mailcow si è affermato come una delle soluzioni open source più complete e accessibili per chi desidera controllare la propria infrastruttura email senza dipendere da provider esterni.
Basato su Docker, Mailcow racchiude in un unico pacchetto tutti i servizi necessari per gestire posta, calendari e contatti: Postfix, Dovecot, Rspamd, ClamAV, SOGo e molti altri strumenti perfettamente integrati.
Inoltre, supporta standard fondamentali per la sicurezza delle email come DKIM, DMARC e SPF, garantendo un’elevata deliverability e una protezione efficace contro lo spam.
In questa guida vedremo come installare e configurare Mailcow Community Edition su Ubuntu Server 24.04 LTS, partendo da un sistema pulito con Docker già pronto.
L’obiettivo è arrivare a un’installazione stabile e funzionante, completa di interfaccia web, accesso HTTPS e gestione degli account di posta, una base solida su cui costruire il proprio mail server professionale o personale.
PREREQUISITI
- Ubuntu Server (ultima versione)
- Nome di dominio
- Accesso root o accesso sudo
- Docker e Docker-compose installati
AGGIORNAMENTO DEL SERVER UBUNTU
Aprire un terminale e digita il seguente comando per aggiornare e aggiornare il server Ubuntu:
|
0 |
sudo apt update && sudo apt upgrade -y |
INSTALLAZIONE DI GIT
Git è necessario per l’installazione di Mailcow. Digitare il seguente comando:
|
0 |
sudo apt install git |
INSTALLAZIONE DI DOCKER E DOCKER COMPOSE
Queste dipendenze servono per aggiungere il repository Docker via HTTPS. Eseguire i comandi:
|
0 1 |
sudo apt update sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release |
Creare prima la cartella per le keyrings (se non esiste), poi scarichare e salvare la chiave con i comandi:
|
0 1 2 |
sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \ sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg |
Registrare il repo Docker nella lista delle sorgenti APT usando l’architettura della macchina e il codice della release Ubuntu (per 24.04 è noble).
Eseguire il comando:
|
0 1 2 3 |
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo $VERSION_CODENAME) stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null |
Questo crea /etc/apt/sources.list.d/docker.list e punta ufficialmente a Docker CE.
Adesso Ubuntu vede il nuovo repo Docker. Aggiornare ancora gli indici dei pacchetti con il comando:
|
0 |
sudo apt update |
Puoi anche controllare da quale repo verrà preso docker-ce usando:
|
0 |
apt-cache policy docker-ce |
Dovremmo vedere che il candidato arriva da download.docker.com.
Installare Docker Engine + CLI + containerd + plugin buildx + plugin compose con il comando:
|
0 |
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin |
Controllare lo stato di Docker con il comando:
|
0 |
sudo systemctl status docker --no-pager |
Dovremmo visualizzare un output simile al seguente:
|
0 1 2 3 4 5 6 7 8 9 10 |
● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: enabled) Active: active (running) since Sat 2025-10-25 14:03:39 CEST; 31s ago TriggeredBy: ● docker.socket Docs: https://docs.docker.com Main PID: 13856 (dockerd) Tasks: 13 Memory: 22.3M (peak: 24.4M) CPU: 348ms CGroup: /system.slice/docker.service └─13856 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock |
CLONARE IL REPOSITORY DI MAILCOW
Per clonare il repository Mailcow eseguire il seguente comando:
|
0 |
sudo git clone https://github.com/mailcow/mailcow-dockerized.git |
AVVIO DELL’INSTALLAZIONE DI MAILCOW
Posizionarsi nella directory clonata di Mailcow utilizzando il comando:
|
0 |
cd mailcow-dockerized |
Successivamente scaricare e installare i file di configurazione di Mailcow utilizzando il seguente comando:
|
0 |
sudo ./generate_config.sh |
Una volta eseguito il comando precedente ti verrà chiesto di impostare la configurazione di mailcow.
Seguire attentamente le istruzioni per impostare la configurazione richiesta.
Dovremmo visualizzare il seguente output:
|
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
Detecting if your IP is listed on Spamhaus Bad ASN List... Check completed! Your IP is clean Press enter to confirm the detected value '[value]' where applicable or enter a custom value. Mail server hostname (FQDN) - this is not your mail domain, but your mail servers hostname: MAILCOW-SRV-test.lab Timezone [Etc/UTC]: Europe/Rome Which branch of mailcow do you want to use? Available Branches: - master branch (stable updates) | default, recommended [1] - nightly branch (unstable updates, testing) | not-production ready [2] - legacy branch (supported until February 2026) | deprecated, security updates only [3] Choose the Branch with it's number [1/2/3] 1 Already on 'master' Your branch is up to date with 'origin/master'. Only link-local IPv6 addresses found – testing external IPv6 connectivity... Only link-local IPv6 present and no external connectivity – disabling IPv6 support. Skipping Docker IPv6 configuration because host does not support IPv6. Make sure to check if your docker daemon.json does not include "enable_ipv6": true if you do not want IPv6. IPv6 configuration complete: ENABLE_IPV6=false Generating snake-oil certificate... ....+......+........+.......+...+............+..+.......+...+..+...+......+.+...+...+...+..+....+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*....+......+...+......+.+......+..+.......+......+........+....+...+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*......................+................+.....+......+.............+..+.............+.........+.....+..................+.......+...+..+.+.....+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ...+.+...+..+....+...........+...+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*..+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*..+..+......+.......+..+...+..................+.......+...+...............+.........+........+.............+.....................+........+.+.........+..+.+.....+...+..........+..+.......+...+...+......+...+............+...+...+.....+...+....+...+..+.+.....+......+......+...+..............................+......+.+..+...+...................+...............+.........+...........+.+............+..+.+.....+.......+...........+............+.......+......+............+..+.+..........................+.+.................+...+.......+..+.+...+..+.............+..............+......+.......+..+......+.......+..+............+.+..+.......+......+............+..+.+..................+......+........+......+................+...+......+...........+......+....+...........+....+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ----- Copying snake-oil certificate... |
CONFIGURAZIONE DI MAILCOW
Una volta completata la configurazione, esegui il seguente comando per avviare i servizi Mailcow:
|
0 |
sudo docker compose up -d |
Per controllare lo stato dei servizi di Mailcow esegui il comando:
|
0 |
sudo docker compose ps |
ACCESSO AL PANNELLO AMMINISTRATIVO DI MAILCOW VIA INTERFACCIA WEB
Una volta completata l’installazione di Mailcow accedere all’interfaccia web admin di Mailcow visitando il seguente URL nel tuo browser web:
https://<your-domain-name>/admin
Accedere utilizzando le credenziali predefinite:
UTENTE: admin
PASSWORD: moohoo
Cliccare Login
Dovremmo visualizzare l’interfaccia amministrativa di MailCow
ACCESSO ALLA WEBMAIL VIA INTERFACCIA WEB
Per accedere all’interfaccia web lato utente richiamare il seguente link:
https://<your-domain-name>/admin
Inserire quindi le credenziali di accesso:
EMAIL: account email creato dall’interfccia admin
PASSWORD: password dell’acount email
Cliccare Login
Dovremmo visualizzare l’overview della Mailbox con tutt ele info riguardo i protocolli usati, dimensione, ecc ecc
Per accedere alla WebMail cliccare sul pulsante indicato nell’immagine sovrastante
Se è tutto OK dovremmo visualizzre la Webmail come mostrato nell’immagine sovrastante
CONSIDERAZIONI FINALI SU MAILCOW
Mailcow si è consolidato come una delle piattaforme open source più complete per la gestione di server di posta elettronica self-hosted.
Il suo approccio basato su Docker semplifica notevolmente l’installazione e la manutenzione, riunendo in un unico ambiente tutti i servizi fondamentali dal mail server alla protezione antispam, fino all’interfaccia web per utenti e amministratori.
A differenza di soluzioni tradizionali, Mailcow offre un’esperienza tutto in uno, riducendo la complessità tipica della configurazione manuale di Postfix, Dovecot, Rspamd e simili. Allo stesso tempo, garantisce un’elevata flessibilità e trasparenza, poiché tutto il codice e le configurazioni sono accessibili e personalizzabili.
✅ Vantaggi (Pro)
- Installazione semplificata con Docker: Tutti i componenti sono containerizzati: l’intero stack (Postfix, Dovecot, Rspamd, ClamAV, Redis, SOGo, ecc.) si avvia con pochi comandi, senza doverli configurare manualmente uno a uno.
- Gestione centralizzata e interfaccia moderna: L’interfaccia web di amministrazione è chiara, completa e accessibile anche a chi non è esperto di posta elettronica. La dashboard fornisce un controllo completo su domini, caselle e utenti.
- Sicurezza integrata: Mailcow implementa automaticamente SSL/TLS, DKIM, SPF, DMARC, antivirus e antispam, con gestione automatica dei certificati tramite Let’s Encrypt.
- Scalabilità e modularità: L’approccio Docker consente di aggiornare o sostituire singoli servizi senza impatti sul resto del sistema. È adatto sia per ambienti di test sia per piccole/medie installazioni in produzione.
- Community attiva e documentazione completa: La community di Mailcow è molto attiva, con una documentazione ricca, forum e repository GitHub costantemente aggiornati.
- Supporto a protocolli e funzionalità moderni: Include SOGo per posta, calendari e contatti, supporta ActiveSync, IMAP, POP3, SMTP autenticato, e compatibilità con client mobili e desktop più diffusi.
⚠️ Svantaggi (Contro)
- Richiede risorse hardware adeguate: Essendo composto da numerosi container (database, web, mail, antivirus, antispam, ecc.), Mailcow può risultare pesante su sistemi con meno di 2 GB di RAM o CPU limitate.
- Curva di apprendimento iniziale: Nonostante l’installazione sia semplificata, la gestione post-installazione (record DNS, sicurezza, backup, certificati) richiede una buona conoscenza dei sistemi Linux e della posta elettronica.
- Aggiornamenti e manutenzione da seguire con attenzione: Le nuove release vanno gestite con cura (backup, docker compose pull, up -d), poiché modifiche nei container possono introdurre cambiamenti nei file di configurazione.
- Configurazioni DNS obbligatorie: Senza impostare correttamente i record MX, SPF, DKIM e DMARC, la deliverability può soffrire. Mailcow aiuta, ma serve comunque manualità con i DNS.
- Non adatto a grandi provider: Per infrastrutture con decine di migliaia di utenti o multi-server distribuiti, servono soluzioni enterprise o configurazioni più personalizzate.
In sintesi
Mailcow è la scelta ideale per:
- chi vuole gestire in autonomia il proprio mail server completo e sicuro;
- piccole/medie aziende, enti o freelance che preferiscono una soluzione self-hosted invece di servizi cloud;
- laboratori e ambienti didattici, grazie alla facilità di setup e al codice completamente aperto.
È meno adatto a chi cerca un sistema leggerissimo o completamente “zero-maintenance”: un minimo di competenza sistemistica rimane necessario.
Conclusione
Mailcow riesce a combinare potenza, sicurezza e semplicità d’uso in un unico progetto open source.
Una volta configurato correttamente, può offrire le stesse funzionalità di un servizio di posta professionale, con il vantaggio di mantenere pieno controllo sui propri dati e sulla propria infrastruttura.

0 commenti