Configurare un server di posta elettronica con Docker

È possibile configurare in pochi passi il proprio server di posta elettronica per il massimo controllo del traffico di messaggi digitali. Particolarmente popolare è l’impostazione tramite Docker, ad esempio con lo stack pronto all’uso “Docker Mailserver”. Quali sono i requisiti da soddisfare? E come si configura esattamente un server di posta elettronica?

Consiglio

Configurate facilmente il vostro server di posta elettronica con IONOS. Potrete usufruire di numerosi vantaggi, come uno spazio di archiviazione ampio ed espandibile, un dominio personale, crittografia automatica, funzioni di calendario e di ufficio o l’archiviazione delle e-mail. IONOS vi offre inoltre i più elevati standard di sicurezza in data center europei certificati ISO.

Server di posta elettronica personale: quale hardware è necessario?

Per poter gestire un server di posta elettronica personale, è necessario innanzitutto disporre dell’hardware adeguato. L’entità delle prestazioni richieste dipende da vari fattori: sono determinanti, tra l’altro, il numero di messaggi inviati al giorno e il numero di persone che utilizzano il server e quando. Anche la dimensione media dei messaggi scambiati è rilevante. È necessario prevedere più capacità per servizi aggiuntivi come un sistema di backup o scanner di contenuti (protezione da spam, phishing, ecc.). In ogni caso, serve anche un indirizzo IP statico per garantire un’interazione corretta con altri server di posta elettronica.

Quindi, quando si cerca un ambiente adatto per configurare il proprio server di posta, le capacità necessarie giocano un ruolo fondamentale. Per l’invio di pochi messaggi digitali al giorno, è sufficiente una semplice configurazione iniziale, mentre un server di posta elettronica molto utilizzato nel settore aziendale dovrebbe avere a disposizione un bel po’ di RAM, CPU e spazio di archiviazione.

N.B.

Non importa che utilizziate Linux o Windows: non dimenticate di pianificare le risorse per il sistema operativo sottostante.

Abbiamo riassunto tre scenari esemplari di server di posta e assegnato a ciascuno i pacchetti server IONOS appropriati.

Esempio di utilizzo del server di posta elettronica Hardware Pacchetto IONOS adatto
Server domestico personale con poco traffico 2 vCore, 4 GB di RAM, 60 GB di spazio su disco VPS L
Server di posta elettronica per una piccola azienda con un traffico fino a 1.000 e-mail al giorno 4 vCore, 8 GB di RAM, 100 GB di spazio sul disco VPS XL
Server di posta elettronica aziendale con un traffico di oltre 50.000 e-mail al giorno 8 vCore, 16 GB di RAM, 500 GB di spazio su disco AR6-32 SSD
N.B.

Con un server dedicato di IONOS avrete accesso a un hardware aziendale riservato esclusivamente per voi. Tuttavia, esistono anche i due modelli “VPS” e “Server Cloud” che si basano su risorse virtualizzate condivise con altri clienti, senza che le prestazioni risultino in qualche modo inferiori.

Tutorial passo per passo: configurazione di un server di posta elettronica con Docker

Se desiderate impostare un server di posta elettronica, avete diverse opzioni. Nel seguente tutorial, ad esempio, abbiamo scelto un server basato sul container Dockerdocker-mailserver”. L’agile container open source (con licenza MIT) fornisce uno stack pronto all’uso per configurare il proprio server di posta elettronica: sono inclusi tutti i componenti importanti come un server SMTP, un server IMAP o POP3, un software antispam e antivirus o un servizio di directory LDAP.

N.B.

Se desiderate lavorare con un’immagine Docker come “docker-mailserver”, dovete installare prima di tutto la piattaforma di container. Trovate maggiori informazioni al riguardo nel nostro tutorial su Docker.

Leggete nei paragrafi seguenti come funziona esattamente la configurazione del server di posta elettronica con “docker-mailserver”.

Primo passaggio: ottenere l’immagine Docker

Per ottenere l’immagine più recente di “docker-mailserver”, andate sulla directory ufficiale dello stack su dockerHub o sul repository ufficiale GitHub della collezione di strumenti.

Se decidete di utilizzare la directory dockerHub, ottenete l’immagine inserendo la voce seguente sulla riga di comando:

docker pull mailserver/docker-mailserver

Per l’installazione dalla directory di GitHub date il seguente comando:

docker pull ghcr.io/docker-mailserver/docker-mailserver:edge

Secondo passaggio: configurare docker-compose.yml

Nel passaggio successivo preparatevi ad avviare il container “docker-mailserver”. Per farlo, create una cartella per il server di posta da configurare, ad esempio “mail-server-docker”. Quindi create un nuovo file YAML in questa cartella con il nome docker-compose.yml e aggiungete il seguente contenuto per una configurazione di base del server di posta elettronica:

version: '3.8'
services:
    mailserver:
        image: docker.io/mailserver/docker-mailserver:latest
        container_name: mailserver
        hostname: mail-server
        # example.com va sostituito con il proprio dominio per il server di posta elettronica:
        domainname: example.com
        ports:
            - "25:25"
            - "587:587"
            - "465:465"
        volumes:
            - ./docker-data/dms/mail-data/:/var/mail/
            - ./docker-data/dms/mail-state/:/var/mail-state/
            - ./docker-data/dms/mail-logs/:/var/log/mail/
            - ./docker-data/dms/config/:/tmp/docker-mailserver/
            # Il percorso è da adattare di conseguenza:
            - ./docker-data/nginx-proxy/certs/:/etc/letsencrypt/
            - /etc/localtime:/etc/localtime:ro
        environment:
            - ENABLE_FAIL2BAN=1
            # Se viene utilizzato letsencrypt per i certificati SSL/TLS (altrimenti va adattato)
            - SSL_TYPE=letsencrypt
            - PERMIT_DOCKER=network
            - ONE_DIR=1
            - ENABLE_POSTGREY=0
            - ENABLE_CLAMAV=0
            - ENABLE_SPAMASSASSIN=0
            - SPOOF_PROTECTION=0
        cap_add:
            - NET_ADMIN # For Fail2Ban to work
            - SYS_PTRACE
N.B.

Per un elenco dettagliato delle possibili impostazioni per la configurazione del server di posta elettronica, consultate il manuale ufficiale online di docker-mailserver su GitHub.

Terzo passaggio: rilascio delle porte

Nel file YAML vanno inserite le tre porte classiche 25, 465 e 587 del server SMTP, che devono essere rilasciate anche nelle impostazioni del firewall del vostro server per garantire un funzionamento regolare. La procedura esatta dipende dal sistema e dal provider: i clienti IONOS (VPS, server cloud, server dedicato), ad esempio, possono facilmente procedere a rilasciare le porte tramite il Cloud Panel. I passaggi necessari sono i seguenti:

  1. Effettuate l’accesso con i vostri dati personali nella pagina di login del Cloud Panel.
  2. Andate alla sezione “Server & Cloud”.
  3. Selezionate l’hardware del server noleggiato su cui desiderate configurare il server di posta elettronica.
  4. Cliccate su “Rete” nel menu a sinistra e poi su “Regole firewall”.
  5. Aggiungete le tre porte TCP “25”, “465” e “587” una dopo l’altra tramite la voce “Crea”.

Quarto passaggio: accettare il nome host nelle impostazioni DNS

Nel passaggio successivo, dovete assicurarvi che il servizio DNS del server utilizzi un record MX per il nome host configurato nel secondo passaggio (qui: “mail-server”). Inoltre, è necessario aggiungere un record SPF-TXT con il nome host e il valore “v=spf1 mx ~all”.

I clienti IONOS possono avviare queste impostazioni DNS per il proprio server anche tramite il Cloud Panel, procedendo come segue:

  1. Effettuate nuovamente l’accesso sulla pagina di login del Cloud Panel, se non siete più connessi.
  2. Cliccate sulla voce “Domini & SSL”.
  3. Premete l’icona dell’ingranaggio in corrispondenza della voce del dominio su cui avete impostato il server di posta elettronica e selezionate la voce “DNS”.
  4. Ora avete la possibilità di aggiungere i due record MX e SPF-TXT tramite il pulsante “Aggiungi record”.

Infine, applicate le modifiche facendo clic sul pulsante per ripristinare il dominio nel menu superiore. Confermate le modifiche effettuate e fate clic su “Ripristina ora”.

Consiglio

Non avete ancora un vostro indirizzo web su cui potete configurare il vostro server di posta elettronica? Registrate subito il dominio desiderato su IONOS.

Quinto passaggio: generare le chiavi DKIM

Per aumentare il livello di sicurezza del vostro server di posta elettronica, generate ora un record DKIM per il vostro dominio. Con l’aiuto di questa tecnica di crittografia, i messaggi possono essere successivamente firmati digitalmente. Per generare la coppia di chiavi, utilizzate il file di script setup.sh, che si trova nella directory docker-mailserver. Eseguite il seguente comando:

./setup.sh config dkim

Aggiungete il record generato, che si trova nel file docker-data/dms/config/opendkim/keys/example.com/mail.txt, ai record DNS come un altro record TXT, in modo che i server di posta ricevuti possano recuperare la chiave pubblica. Il risultato è simile a questo:

mail._domainkey IN      TXT     ( "v=DKIM1; h=sha256; k=rsa; "
    "p=MIIBIjANBgkqhkiG9w0BAQEFACAQ8AMIIBCgKCAQEAaH5KuPYPSF3Ppkt466BDMAFGOA4mgqn4oPjZ5BbFlYA9l5jU3bgzRj3l6/Q1n5a9lQs5fNZ7A/HtY0aMvs3nGE4oi+LTejt1jblMhV/OfJyRCunQBIGp0s8G9kIUBzyKJpDayk2+KJSJt/lxL9Iiy0DE5hIv62ZPP6AaTdHBAsJosLFeAzuLFHQ6USyQRojefqFQtgYqWQ2JiZQ3"
    "iqq3bD/BVlwKRp5gH6TEYEmx8EBJUuDxrJhkWRUk2VDl1fqhVBy8A9O7Ah+85nMrlOHIFsTaYo9o6+cDJ6t1i6G1gu+bZD0d3/3bqGLPBQV9LyEL1Rona5V7TJBGg099NQkTz1IwIDAQAB" )  ; ----- DKIM key mail for example.com
N.B.

La crittografia delle comunicazioni di posta elettronica tramite SSL/TLS è importante quanto i record DKIM. Gli sviluppatori di docker-mailserver raccomandano l’uso di Let’s Encrypt per l’attivazione, ma è ovviamente possibile utilizzare anche dei propri certificati già acquistati. Trovate le istruzioni dettagliate per la configurazione nella documentazione ufficiale di GitHub per il server di posta elettronica.

Sesto passaggio: avviare il server e creare il primo indirizzo

Avviate il server di posta elettronica configurato direttamente dalla directory con il seguente comando:

docker-compose up

Entro due minuti è necessario impostare un primo indirizzo e-mail. A tal fine, utilizzate il seguente comando, modificando di conseguenza il dominio, il nome utente e la password:

./setup.sh email add user@domain password

Con l’aiuto di questo comando avete la possibilità di creare altri profili in qualsiasi momento per impostare il server di posta elettronica in base alle vostre esigenze.

Consiglio

Desiderate archiviare i vostri messaggi elettronici in modo sicuro? Utilizzate il servizio Archiviazione e-mail di IONOS per archiviare le caselle di posta selezionate a prova di manomissione e nel rispetto della legge!

Servizi di hosting e-mail su misura per le tue esigenze
  • Indirizzo e-mail personalizzato
  • Accedi alle tue e-mail da qualsiasi luogo
  • Massimi standard di sicurezza
Hai trovato questo articolo utile?
Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.
Page top