Server Email · 13 min read · Sep 25, 2025
Come installare un server di posta con ISPConfig su Debian 10

Questo tutorial utilizza un’installazione su un singolo server come esempio. ISPConfig 3.1 è installato su Debian 10.0, Buster (vedi il tutorial di installazione del server perfetto ISPConfig per l’installazione effettiva del server), lo scopo di questa guida è mostrarti i passaggi dopo aver installato il server iniziale per impostare un sistema di posta funzionante per il tuo nome di dominio. Ho aggiornato ISPConfig a 3.1.15 durante il test di questo tutorial.
Cosa serve
Per utilizzare con successo questo tutorial per un server di posta funzionante, hai bisogno di
- un host dove installare ISPConfig (e un sistema operativo)
- consiglio 2 GB di memoria con 4 GB di swap, dovrebbe essere sufficiente per il server di posta.
- l’host deve avere una connessione Internet con la porta 25 aperta in entrambe le direzioni
- l’host ha un indirizzo IP fisso
- l’host deve avere un record A per il suo indirizzo IP (o AAAA se si utilizza IPv6)
- devi creare un record MX per il servizio di nomi DNS per l’host
- devi ottenere il record PTR del servizio di nomi DNS inverso che corrisponde al FQDN dell’host
Il requisito di memoria è per i filtri SPAM. Puoi cavartela anche con 1 GB di memoria anche con i filtri SPAM in esecuzione se ci sono 4 GB di swap per evitare situazioni di esaurimento della memoria.
Porte aperte
Il server di posta deve avere la porta 25 aperta sia in entrata che in uscita. Assicurati che il tuo host abbia quella porta aperta prima di configurare il server di posta su quell’host.
Ci sono modi per far funzionare la posta elettronica anche quando la porta 25 non è aperta, ma comporta l’invio di e-mail tramite un altro host che ha la porta 25 aperta. Potrebbe avere più senso installare il server di posta su quell’altro host e dimenticare completamente il primo per quanto riguarda la posta elettronica.
Voci del servizio di nomi DNS
Il server di posta ha bisogno di un FQDN, nome di dominio completamente qualificato (Leggi a riguardo su Wikipedia: FQDN). In questo esempio, il nome di dominio è taleman.ovh. Per dimostrare che il nome host del server di posta non deve essere mail, usiamo posti come nome host. Quindi il FQDN è posti.taleman.ovh.
Questo host è installato su un sistema di un fornitore di servizi, che offre registrazione di domini, servizio di nomi e servizio di nomi inverso. Ho utilizzato quelli.
L’indirizzo IP è 178.33.154.66. Ho fatto quanto segue:
- registrato il dominio taleman.ovh
- aggiunto questo indirizzo IP come record A al servizio di nomi DNS con nome posti.taleman.ovh
- aggiunto record MX per il dominio taleman.ovh con valore posti.taleman.ovh
- aggiunto record PTR per il servizio di nomi inverso per quell’indirizzo IP, puntando a posti.taleman.ovh
Il record MX è creato per il dominio e-mail. Quindi lo creo per taleman.ovh, e punta a posti.taleman.ovh, il server di posta che riceve e-mail per quel dominio.
Servizio di nomi inverso
Leggi a riguardo nel tutorial sul servizio di nomi. In questo caso, il servizio di nomi inverso deve restituire posti.taleman.ovh.
Il mio fornitore di servizi ha controllato l’esistenza del record A prima che fosse possibile aggiungere il corrispondente PTR, ho avuto un po’ di problemi prima di capire che era per questo che l’aggiunta era fallita.
Testare il servizio di nomi
È meglio testare il servizio di nomi ora, poiché inviare e ricevere e-mail non funzionerà se il servizio di nomi non è impostato correttamente. Se la tua workstation è Windows invece di Linux o Unix, usa il comando nslookup invece di host.
$ host taleman.ovh
taleman.ovh ha indirizzo 188.165.143.5
taleman.ovh la posta è gestita da 10 posti.taleman.ovh.Il risultato sopra mostra che il nome di dominio ha un numero IP associato (che in questo caso è diverso dal numero IP del server di posta, ma ciò non influisce sulle e-mail), e c’è un record MX che punta a posti.taleman.ovh. La parte “la posta è gestita da” proviene dal record MX. Questo record MX è necessario se le e-mail inviate agli indirizzi @taleman.ovh devono essere ricevute su posti.taleman.ovh.
Quindi controlla che l’entrata del servizio di nomi per il FQDN del server di posta (in questo caso posti.taleman.fi) sia un record A e punti al numero IP corretto.
$ dig posti.taleman.ovh |grep "ANSWER SECTION" --after-context=3
;; ANSWER SECTION:
posti.taleman.ovh. 3600 IN A 178.33.154.66
;; Tempo di query: 56 msecInfine controlla che il servizio di nomi inverso risolva il numero IP nel FQDN del server di posta.
$ host 178.33.154.66
66.154.33.178.in-addr.arpa nome di dominio puntatore posti.taleman.ovh.Invece dei comandi host e dig puoi utilizzare pagine web che testano il servizio di nomi. Conosco intoDNS e MXToolbox.
Se non riesci a far funzionare i test sopra, puoi provare questo tutorial Impostare il servizio di nomi.
Installazione del sistema operativo
Utilizzo Debian versione 10 Buster, quindi seguo questo tutorial:
https://www.howtoforge.com/tutorial/debian-10-buster-minimal-server/
Sostituisci il numero IP, il nome host e il nome di dominio con i tuoi valori.
Poiché scrivo questo tutorial in inglese, ho scelto l’inglese come lingua, ma la Finlandia come paese e United_Kingdom en_GB.UTF-8 come impostazione locale.
root@posti:/tmp# cat /etc/debian_version 10.0root@posti:~# locale
LANG=en_GB.UTF-8
LANGUAGE=en_GB:en
LC_CTYPE="en_GB.UTF-8"
LC_NUMERIC="en_GB.UTF-8"
LC_TIME="en_GB.UTF-8"
LC_COLLATE="en_GB.UTF-8"
LC_MONETARY="en_GB.UTF-8"
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER="en_GB.UTF-8"
LC_NAME="en_GB.UTF-8"
LC_ADDRESS="en_GB.UTF-8"
LC_TELEPHONE="en_GB.UTF-8"
LC_MEASUREMENT="en_GB.UTF-8"
LC_IDENTIFICATION="en_GB.UTF-8"
LC_ALL=
root@posti:~# cat /etc/timezone
Europa/HelsinkiVerifica di aver impostato correttamente il nome host. La configurazione del sistema di posta che ISPConfig fa non funzionerà se il nome host è errato.
root@posti:~# hostname posti
root@posti:~# hostname -f posti.taleman.ovh
root@posti:~#Installazione di ISPConfig
Scelgo di installare Apache come server web, quindi per Debian Buster seguo questa Guida al Server Perfetto.
Ho installato openssh-server sull’host e impostato l’accesso root utilizzando la chiave ssh, così posso ssh all’host come root direttamente. Accessi senza password con OpenSSH o Accessi Sicuri senza Password con SSH.
root@posti:/tmp# free -h
Preferisco gli editor in stile Emacs a nano, quindi installo jed ora per rendere l’editing dei file più piacevole.
Avevo /etc/host e /etc/hostname impostati correttamente dopo l’installazione del sistema operativo, quindi ho solo verificato che fossero corretti seguendo la Guida al Server Perfetto. Fai attenzione al nome host e al FQDN, se sbagli quelli scoprirai alla fine che il tuo server di posta non funziona. Il danno può essere riparato, ma è più facile farlo correttamente fin dall’inizio.
root@posti:/tmp# hostname
posti
root@posti:/tmp# hostname -f
posti.taleman.ovhPer il resto, seguo semplicemente la Guida al Server Perfetto. Nota che puoi per lo più copiare e incollare i comandi dalla guida nella riga di comando.
Non ho installato Mailman, non ho intenzione di utilizzare Mailman su questo host. Allo stesso modo, ho omesso l’installazione del server DNS BIND, Webalizer, AWStats. Ho installato Roundcube Webmail poiché questo host diventa un server di posta.
Nel capitolo 18 (Installa lo strumento di amministrazione del database PHPMyAdmin) ho usato il comando
/usr/bin/apg -m 32 -x 32per generare la chiave segreta di 32 caratteri per blowfish.
Utilizzo del sistema
Crea dominio e-mail e caselle di posta
Ora accedo come admin a ISPConfig e
- Aggiungi nuovo cliente
- Aggiungi nuovo dominio (Dominio Email!), e compila il modulo
- Aggiungi nuova casella di posta
Crea le chiavi DKIM e il record facendo clic sui pulsanti nell’ordine numerato nell’immagine. Puoi leggere a riguardo su DKIM in Wikipedia.

Figura 1: Crea dominio di posta
Poi aspetta due minuti o fino a quando la palla rossa con il numero nella parte superiore del pannello ISPConfig scompare.
Come primo test, accedi a Roundcube Webmail con la casella di posta appena creata e invia un’e-mail a quell’indirizzo. ISPConfig invia un messaggio di benvenuto a ogni casella di posta creata, quindi dovrebbe esserci già un messaggio lì. Usa il pulsante Componi e scrivi un breve messaggio di test.

Figura 2: webmail Roundcube

Figura 3: Invio da Roundcube
Il messaggio dovrebbe apparire presto nella casella di posta.
Poi prova a inviare un’e-mail a un’altra casella di posta che hai e puoi controllare se la posta arriva lì. Il test successivo puoi inviare da un’altra parte alla casella di posta appena creata.
Nota che, se hai abilitato il greylisting per la casella di posta, l’e-mail inviata da fuori dal tuo server non arriva immediatamente alla casella di posta. Tuttavia, dovresti vedere nel registro della posta le voci di tentativo di consegna subito, così puoi vedere che la posta può raggiungere il tuo server. L’entrata di greylisting nel file /var/log/mail.log appare in questo modo:
Aug 29 19:08:42 posti postfix/smtpd[16911]: NOQUEUE: reject:
RCPT from mta-out1.inet.fi[62.71.2.194]: 450 4.2.0
<[email protected]>: Indirizzo destinatario rifiutato: Greylisted,
vedi http://postgrey.schweikert.ch/help/taleman.ovh.html;
from=<**@*.*> to=<[email protected]> proto=ESMTP
helo=<****..*>Puoi monitorare il registro della posta in una finestra del terminale in questo modo, ad esempio:
tail -f /var/log/mail.logO utilizzando questi comandi, se sei interessato solo alle voci di Greylisting:
tail -f /var/log/mail.log | grep Greylistedoppure
grep Greylisted /var/log/mail.logIl greylisting ritarda solo la prima e-mail dallo stesso mittente allo stesso destinatario. Una volta ricevuta quella prima e-mail, le e-mail successive arrivano senza un ulteriore ritardo.
Nel mio caso, tutto ha funzionato al primo tentativo. Questo dimostra che la Guida al Server Perfetto di ISPConfig funziona davvero.
Collegare il client e-mail
Utilizzando Thunderbird come esempio di client di posta. Altre applicazioni client di posta funzionano in modo simile.
ISPConfig fa sì che il nome dell’account sia l’indirizzo e-mail.

Figura 4: impostazioni account Thunderbird

Figura 5: impostazioni server Thunderbird
La sicurezza della connessione STARTTLS significa che la connessione inizia non protetta e poi passa a crittografata se entrambe le parti supportano la crittografia. SSL/TSL significa che la sessione è crittografata fin dall’inizio. SSL/TSL è probabilmente leggermente più sicuro, quindi prova se il tuo client funziona con quello.

Figura 6: impostazioni server in uscita Thunderbird
Utilizzo di SPF
Leggi a riguardo del Sender Policy Framework su Wikipedia. Originariamente SPF stava per Sender Permitted From, il che è bello da ricordare cosa significa. Dopo aver letto di SPF, puoi creare il record tu stesso, controlla se il tuo fornitore di servizi di nomi può generare un record SPF o utilizzare i motori di ricerca di Internet con
SPF wizardtrova un sito web che crea il record di servizio di nomi SPF per te. Quindi copia e incolla il record nel tuo servizio di nomi. Aggiungi un record TXT, o forse su alcuni sistemi DNS aggiungi il record SPF.
Controlla come appare l’SPF nel servizio di nomi, in questo modo
$ dig taleman.ovh -t TXT | grep spf
taleman.ovh. 3000 IN TXT "v=spf1 mx ~all"Oppure in questo modo:
$ dig +short taleman.ovh TXT
"v=spf1 mx ~all"
"1|www.taleman.ovh"Utilizzo di DKIM
Leggi a riguardo del DomainKeys Identified Mail su Wikipedia. ISPConfig ha creato le chiavi DKIM per te quando hai creato il dominio e-mail (se ti sei ricordato di selezionare la casella DKIM). Copia e incolla il record DNS che è la chiave pubblica nel tuo servizio di nomi come record TXT. Il tuo fornitore di servizi di nomi potrebbe offrire uno strumento per facilitare la creazione del record DKIM. Tieni segreta la chiave privata DKIM.
Controlla come appare il DKIM nel servizio di nomi, in questo modo:
$ host -t txt default._domainkey.taleman.ovh.
default._domainkey.taleman.ovh testo descrittivo "v=DKIM1;h=sha256;s=*;p=MIIB(I taglio la lunga stringa più corta)0rp" "sTGLXyK(taglio più corto)B;t=s;"Se è stato ISPConfig a creare le chiavi DKIM, la chiave privata è copiata nel posto giusto nelle impostazioni di amavis.
C’è un sito web mail-tester.com che è utile per controllare se SPF e DKIM funzionano. Vai su quel sito web, ti dà un indirizzo e-mail e invii un’e-mail lì dal tuo server. Poi aspetta un minuto e controlla di nuovo il sito web.
Creazione di certificati
ISPConfig può creare certificati autofirmati, questi vengono creati durante l’installazione di ISPConfig a meno che tu non abbia scelto di non crearli. Anche se hai creato quei certificati autofirmati, è una buona idea creare certificati adeguati che i browser, i programmi di posta elettronica e altri server di posta elettronica si fidano.
C’è un ottimo tutorial: Sicurezza di ISPConfig con un certificato SSL gratuito di Let’s Encrypt
Seguendo quel tutorial, ho notato che il sito web creato mostrava la pagina predefinita di Debian, fino a quando non ho creato il certificato LE per il sito web. Anche il pannello ISPConfig era instabile, credo perché aveva il certificato autofirmato e ora questo nuovo certificato o nessun certificato. Aggiornare le pagine nel browser ha risolto questo problema.
Quando i certificati sono impostati, inserisci l’indirizzo https del server nel browser. Cliccando sull’icona a sinistra della barra degli indirizzi del browser con l’altro pulsante del mouse si mostrano informazioni sul certificato.
Vai alla scheda Sistema del pannello ISPConfig, Configurazione principale dell’interfaccia e scheda Mail. Lì imposta
Usa la connessione crittografata SSL/TLS per SMTPsu SSL.
Ulteriori test del certificato sono possibili con strumenti su siti web, utilizza i motori di ricerca di Internet con
testing sslcome parole di ricerca. Quegli strumenti di solito testano il sito web, quando testano i certificati che il server di posta ha, cerca con
testing ssl mail serverPlugin Roundcube di ISPConfig
Questi plugin sono utili per gli utenti di webmail. Consentono di cambiare la password e-mail in Roundcube, ad esempio. Alcune altre impostazioni possono anche essere modificate in Roundcube. Possono tutte essere modificate nel pannello ISPConfig, ma alcuni utenti di posta elettronica potrebbero non voler utilizzare il pannello.
Ho installato i plugin Rouncube di ISPConfig utilizzando il tutorial ISPConfig 3 Roundcube Plugin su Debian 9. Il tutorial ha funzionato esattamente su Debian 10 Buster, tranne per il fatto che ora ispconfig3_account/config/config.inc.php ha una riga in più:
$config['soap_validate_cert'] = true;Questo può rimanere a valore true, poiché il certificato è stato impostato correttamente e testato nel capitolo precedente di questo tutorial. Se, tuttavia, l’host non ha un certificato valido, cambia questa impostazione su false.
Ho avuto un problema. Alcuni elementi nella sezione Account hanno visualizzato un messaggio di errore
Si è verificato un errore.
Errore Soap: Il login non è consentito da Ho risolto questo spuntando l’accesso remoto e scrivendo posti.taleman.ovh per quell’utente rcmail-remote che ho creato seguendo il tutorial. Sembra che il tutorial sia errato nel non aver bisogno di spuntare “Accesso remoto”. Ora mi sembra che sia necessario sia per le installazioni su singolo server che per la configurazione multiserver di ISPConfig con un server di posta separato.
Ulteriore utilizzo
Ora puoi creare un altro dominio e-mail. Ricorda di creare un record MX per quel dominio e puntarlo al tuo server di posta. Puoi utilizzare lo stesso server di posta per tutti i domini e-mail che crei. Questo è il modo in cui di solito viene fatto, poiché sarebbe piuttosto uno spreco creare un server di posta separato per ogni dominio e-mail.
Risoluzione dei problemi
Seguendo questo tutorial, il mio server di posta appena impostato funziona. Se il tuo non funziona, controlla di aver seguito questo tutorial e di non aver saltato alcuni passaggi.
Leggere il forum ha mostrato che i modi comuni per avere un server di posta non funzionante sono impostazioni errate per il nome host e hostname -f e/o errori nel file /etc/postfix/main.cf.
Se sospetti problemi con il servizio di nomi DNS, controllali con il tutorial DNS con ISPConfig. Ci sono strumenti web che controllano il DNS, come intodns.com, dnschecker.com, mxtoolbox.com.
Se le e-mail non vengono ricevute o non vengono inviate, è postfix che svolge quelle funzioni e vengono registrate in /var/log/mail.log. Quindi fai
tail -f /var/log/mail.log | grep postfix per vedere cosa succede quando la posta viene ricevuta o inviata.Se hai problemi a connetterti con il client e-mail (Thunderbird, ad esempio) usa questo per vedere cosa succede:
tail -f /var/log/mail.log | grep dovecotNel caso in cui un’e-mail particolare sia problematica, puoi trovare le voci del registro della posta utilizzando l’ID di quell’e-mail. Ad esempio:
Sep 23 14:19:34 posti postfix/smtps/smtpd[10260]: A9F2880C76:
client=dsl-tkubng21-58c1ce-191.dhcp.inet.fi[99.99.99.99],
sasl_method=PLAIN, [email protected]L’ID per quell’e-mail è A9F2880C76. Puoi trovare le voci di registro per quell’e-mail utilizzando
# grep A9F2880C76 /var/log/mail.logIl comando mailq mostra le e-mail che sono nella coda differita di postfix. Cioè, quelle e-mail che non sono ancora state consegnate. È normale avere alcune voci recenti lì, le e-mail non possono sempre essere consegnate immediatamente. Puoi vedere i contenuti di quelle e-mail utilizzando l’ID della coda, in questo modo:
# postcat /var/spool/postfix/deferred/A/A9F2880C76Howtoforge ha i forum di ISPConfig, chiedi consiglio lì.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.