Installazione e Configurazione Base di Postal su Ubuntu Server 26.04 con Docker Engine

di Raffaele Chiatto | Ott 28, 2026 | 0 commenti

Installazione e Configurazione Base di Postal su Ubuntu Server 26.04 con Docker Engine - Raffaele Chiatto

 

Postal è una piattaforma open source per l’invio e la ricezione di email, pensata per siti web, applicazioni e servizi che devono spedire grandi quantità di messaggi in modo affidabile.

Si può considerare un’alternativa self-hosted a servizi commerciali come SendGrid, Mailgun o Amazon SES: offre le stesse funzionalità principali, ma lascia il pieno controllo dell’infrastruttura, dei dati e dei costi.

Sviluppato dal provider britannico Krystal e distribuito con licenza MIT, Postal mette a disposizione un’interfaccia web completa per gestire organizzazioni, server di posta e domini.

Gli invii avvengono via SMTP o tramite API HTTP, con firma DKIM automatica dei messaggi. Postal offre anche il tracciamento di aperture e clic, i webhook per notificare alle applicazioni consegne e rimbalzi, la gestione dei pool di IP e un sistema di instradamento per la posta in arrivo.

Un punto va chiarito subito: Postal non è un server di caselle di posta.

Non offre IMAP o POP3 e non sostituisce soluzioni come Dovecot, Exchange o Microsoft 365.

È un Mail Transfer Agent orientato all’invio transazionale e massivo: email di registrazione, reset password, notifiche, newsletter e comunicazioni generate da applicazioni.

Dalla versione 3 l’architettura si è semplificata: Postal gira interamente in container Docker e non richiede più RabbitMQ, ma solo un database MariaDB.

Un server dedicato basta quindi per avere in poco tempo una piattaforma di invio professionale.

In questa guida vedremo passo dopo passo come installare e configurare Postal su Ubuntu Server 26.04 LTS con Docker Engine.

Partiremo dalla configurazione dei record DNS e arriveremo al primo accesso all’interfaccia web, con HTTPS gestito automaticamente da Caddy.

 

PREREQUISITI

Un server Ubuntu Server 26.04 LTS con un utente sudo e accesso SSH, dedicato (Postal non convive bene con altri servizi che occupano le stesse porte o risorse).

RAM: almeno 4 GB. CPU: almeno 2 core. Disco: almeno 25 GB (di più se prevedi volumi alti di invio, per via dei log dei messaggi).

Un dominio dedicato all’infrastruttura di invio (es. postal.tuodominio.it), con accesso al pannello DNS.

La porta 25 in uscita non bloccata dal provider: è la condizione più comune di fallimento — verificala prima di iniziare.

NOTA BENE: Postal gira interamente in container Docker: qualunque sistema operativo compatibile con Docker va bene, questa guida usa Ubuntu 26.04 come richiesto.

 

CONFIGURAZIONE DEL DNS

Configura nel pannello DNS del dominio scelto per Postal:

Record A (e AAAA se hai IPv6):

Record MX:

PTR (reverse DNS) richiesto lato provider, l’IP deve risolvere all’indietro nell’hostname:

I record SPF, return-path e DKIM li completerai allo step 11, dopo aver avviato Postal e creato il dominio dalla dashboard.

 

PREPARAZIONE DEL SISTEMA

NOTA BENE: se l’aggiornamento include un nuovo kernel, riavvia con sudo reboot prima di proseguire.

 

INSTALLAZIONE DI DOCKER ENGINE

Aggiungi la chiave GPG e il repository Docker:

Quindi aggiornare con il comando:

Installa Docker Engine e il plugin Compose:

Verifica e abilita l’utente corrente:

ATTENZIONE: se poco dopo il rilascio di Ubuntu 26.04 il repository Docker non ha ancora una build per il suo codename, sostituisci $(. /etc/os-release && echo “$VERSION_CODENAME”) con il codename della LTS precedente supportata (es. noble) nel comando sopra.

 

AVVIARE MARIADB E RABBITMQ

Postal richiede MariaDB (10.6+) per i dati e RabbitMQ come coda dei messaggi. Genera prima due password robuste:

Avvia i due container (sostituisci PASSWORD_MARIADB e PASSWORD_RABBITMQ con i valori generati):

Entrambi pubblicano la porta solo su 127.0.0.1, quindi restano raggiungibili esclusivamente dal server stesso.

NOTA BENE: per volumi di invio elevati o messaggi molto grandi, la documentazione ufficiale consiglia di alzare innodb_log_file_size di MariaDB ad almeno 10 volte la dimensione massima prevista dei messaggi.

 

INSTALLAZIONE DELLA CLI DI POSTAL

Verifica che il comando sia disponibile:

Se è tutto corretto dovremmo visualizzare il seguente output:

 

 

BOOTSTRAP DELLA CONFIGURAZIONE

Sostituisci postal.tuodominio.it con l’hostname configurato al passo CONFIGURAZIONE DEL DNS.

Il comando crea in /opt/postal/config:

postal.yml — file di configurazione principale
signing.key — chiave privata per la firma dei messaggi
Caddyfile — configurazione del proxy web/TLS

CONFIGURAZIONE DI POSTAL.YML

Apri il file postal.yml con il comando:

Quindi inserire all’interno del file il seguente output:

Sezione DNS (sostituisci tuodominio.it con il tuo dominio)

 

INIZIALIZZARE IL DATABASE E CREARE L’AMMINISTRATORE

Il secondo comando chiede email, nome, cognome e password del primo utente amministratore: rispondi ai prompt interattivi.

Se è andato tutto a buon fine dovremmo visualizzare un output simile al seguente:

 

 

AVVIO DI POSTAL E DEL PROXY CADDY

Tutti i servizi devono risultare Up. Avvia poi Caddy per la gestione automatica di TLS/HTTPS:

Verifica che tutti i container siano attivi:

 

 

ACCESSO A POSTAL DA WEB GUI

Visita https://postal.tuodominio.it e accedi con l’utente creato allo step INIZIALIZZARE IL DATABASE E CREARE L’AMMINISTRATORE

Installazione e Configurazione Base di Postal su Ubuntu Server 26.04 con Docker Engine - Raffaele Chiatto

Inserire le credenziali e cliccare Login

Installazione e Configurazione Base di Postal su Ubuntu Server 26.04 con Docker Engine - Raffaele Chiatto

Dovremmo visualizzare la schermata di benvenuto di Postal

COMPLETARE I RECORD DNS (SPF, RETURN-PATH, DKIM)

Dalla dashboard: crea un’organizzazione, poi un mail server al suo interno, quindi aggiungi il dominio da cui invierai la posta.

Postal genera automaticamente la chiave DKIM specifica per quel dominio, mostrata nella pagina di verifica.

Installazione e Configurazione Base di Postal su Ubuntu Server 26.04 con Docker Engine - Raffaele Chiatto

Cliccare su Create the first Organization

Installazione e Configurazione Base di Postal su Ubuntu Server 26.04 con Docker Engine - Raffaele Chiatto

Inserire i dati e cliccare Create Organization

Installazione e Configurazione Base di Postal su Ubuntu Server 26.04 con Docker Engine - Raffaele Chiatto

Cliccare Build your first mail server

Installazione e Configurazione Base di Postal su Ubuntu Server 26.04 con Docker Engine - Raffaele Chiatto

Inserire le info richieste quindi cliccare Build Server

Installazione e Configurazione Base di Postal su Ubuntu Server 26.04 con Docker Engine - Raffaele Chiatto

A questo punto dovremmo visualizzare la Dashboard di Postal

 

AGGIUNTE NEL DNS

Aggiungi nel DNS i seguenti record:

SPF sul sottodominio dedicato (TXT su spf.postal.tuodominio.it):

SPF sull’hostname principale (TXT su postal.tuodominio.it):

Return-path (A/AAAA su rp.postal.tuodominio.it verso l’IP del server, più un CNAME psrp.postal.tuodominio.it → rp.postal.tuodominio.it) e lo stesso TXT SPF di cui sopra sul record rp.

DKIM copia esattamente il record TXT mostrato dalla dashboard, nel formato postal-[CHIAVE]._domainkey.postal.tuodominio.it.

Usa il pulsante “verifica DNS” nella dashboard per confermare che tutti i record siano stati recepiti prima di iniziare a inviare.

 

CONFIGURAZIONE DEL FIREWALL

Aprire le porte con i seguenti comandi:

 

 

MANUTENZIONE E COMANDI UTILI

Stato dei servizi: sudo postal status

Log di Postal: sudo postal logs -f

Riavviare Postal: sudo postal restart

Fermare/avviare Postal: sudo postal stop / sudo postal start

Aggiornare Postal: sudo postal upgrade

Console Rails (debug avanzato): sudo postal console

Backup: i dati critici sono nel database MariaDB (container postal-mariadb) e nella cartella /opt/postal/config (in particolare signing.key, da conservare con cura: è la chiave usata per firmare i messaggi). Un mysqldump periodico più una copia di /opt/postal/config coprono un ripristino completo.

Risoluzione problemi: se l’invio non parte, verifica di nuovo la porta 25 in uscita (causa più comune) e che i record SPF/DKIM/return-path risultino “verificati” nella dashboard prima di dichiarare il dominio pronto all’invio.

CONCLUSIONI

In questa guida abbiamo visto come installare e configurare Postal su Ubuntu Server 26.04 LTS con Docker Engine.

Siamo partiti dalla preparazione dei record DNS e siamo arrivati al primo accesso all’interfaccia web in HTTPS, passando per l’installazione di Docker, l’avvio di MariaDB, la generazione della configurazione e la creazione dell’utente amministratore.

Prima di decidere se adottare Postal in produzione, conviene valutarne con attenzione punti di forza e limiti.

PRO

  • Open source e gratuito: distribuito con licenza MIT, senza costi di licenza né tariffe per singolo messaggio inviato, a differenza dei servizi commerciali.
  • Pieno controllo dei dati: messaggi, log e statistiche restano sui propri server, un aspetto rilevante per privacy, GDPR e requisiti di compliance.
  • Interfaccia web completa: gestione centralizzata di organizzazioni, server, domini, credenziali e log dei messaggi, senza dover lavorare solo da riga di comando.
  • Multi-tenant: permette di separare clienti, progetti o applicazioni in organizzazioni e server distinti, ideale per MSP e agenzie.
  • SMTP e API HTTP: si integra facilmente con qualsiasi applicazione, CMS o gestionale.
  • Funzionalità avanzate: firma DKIM automatica, tracciamento di aperture e clic, webhook per consegne e rimbalzi, pool di IP e route per la posta in arrivo.
  • Installazione semplificata: dalla versione 3 gira interamente in Docker e richiede solo MariaDB, senza RabbitMQ.

CONTRO

  • La consegnabilità è tutta a carico vostro: reputazione dell’IP, warm-up, monitoraggio delle blacklist e configurazione corretta di SPF, DKIM, DMARC e PTR sono responsabilità dell’amministratore. Con un IP nuovo o “sporco”, i messaggi finiscono facilmente in spam.
  • Porta 25 spesso bloccata: molti provider cloud (AWS, Azure, Google Cloud e diversi VPS) bloccano il traffico SMTP in uscita, e a volte è difficile ottenerne lo sblocco.
  • Non è un server di caselle di posta: niente IMAP o POP3. Per la posta degli utenti servono altre soluzioni.
  • Niente gestione delle campagne: mancano liste di contatti, editor di template e gestione delle disiscrizioni. Per le newsletter serve un software dedicato, come Listmonk o Mautic, che usi Postal come motore di invio.
  • Server dedicato e risorse non trascurabili: almeno 4 GB di RAM e un host riservato, perché Postal non convive bene con altri servizi sulle stesse porte.
  • Manutenzione e sicurezza a carico vostro: aggiornamenti, backup, monitoraggio e protezione del server non sono inclusi come in un servizio gestito, e non c’è un supporto ufficiale con SLA.
  • Community e documentazione più limitate rispetto alle alternative commerciali: per i problemi meno comuni spesso bisogna cercare tra le issue su GitHub.

In sintesi, Postal è un’ottima scelta per chi ha competenze sistemistiche, vuole mantenere il controllo dell’infrastruttura di invio e gestisce volumi tali da rendere costosi i servizi a consumo.

Chi invece preferisce non occuparsi di reputazione degli IP, blacklist e manutenzione troverà più comodo un servizio gestito, accettandone costi e dipendenza da terzi.

Articoli Recenti

Veeam Backup

Monitoring

Friends

  • My English Lab  English School
  • ChrSystem   Servizi ICT
  • Since 01  Kreative Graphics

Database

Networking

Autori

  • Raffaele Chiatto  Amministratore
  • Marco Valle  Autore
  • Angelo Lauria  Autore
  • Edoardo Prot  Autore
  • Davide D'Urso  Autore
Raffaele Chiatto

Raffaele Chiatto

Sono Raffaele Chiatto, un appassionato di informatica a 360 gradi.
Tutto è iniziato nel 1996, quando ho scoperto il mondo dell'informatica grazie a Windows 95, e da quel momento non ho più smesso di esplorare e imparare.
Ogni giorno mi dedico con curiosità e passione a scoprire le nuove frontiere di questo settore in continua evoluzione.

Related Post

0 Commenti

Invia Un Commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Virtualizzazione

Linux

Microsoft

Apple

Backup

Database

Security

Automazione