Configurare un mail server con il Raspberry Pi per gestire le e-mail

Il Raspberry Pi è la base ideale per molti progetti utili ed educativi: ad esempio è possibile utilizzarlo per impostare dei processi automatici in casa o configurarlo come un Media Center; inoltre vi si può anche installare un mail server. Se lo utilizzate per questo scopo e impostate quindi un server per le e-mail, non solo imparate a conoscere la struttura e le funzioni dei programmi indispensabili, ma otterrete anche un maggiore controllo sui vostri messaggi.

Ma laddove ci sono dei vantaggi, si nascondono alcuni svantaggi e anche un mail server privato non fa eccezione. Tra le difficoltà nella gestione di un proprio mail server rientrano soprattutto i problemi durante l’invio dei messaggi. Nel nostro tutorial vi spieghiamo come impostare un server per le e-mail con il Raspberry Pi, come utilizzarlo e quali vantaggi e svantaggi abbia.

Problemi con l’indirizzo IP di un mail server privato

Prima di iniziare ad impostare un mail server sul Raspberry Pi, dovreste tenere presente che, generalmente, un server per le e-mail impostato autonomamente non ne sostituisce in egual misura uno di tipo commerciale offerto da un provider. Ciò dipende dal fatto che la maggior parte delle connessioni Internet non dispongono di un indirizzo IP statico. Per poter utilizzare un mail server, è necessaria una connessione ad Internet. Un server per le e-mail più professionale si serve di una connessione Internet, che usa almeno un indirizzo IP (fisso) statico, garantendo così la costante raggiungibilità del server, in quanto l’indirizzo per l’accesso ad Internet rimane sempre invariato.

Come accennato prima, la maggior parte delle connessioni si basano solo su un IP dinamico e questo significa che l’indirizzo cambia continuamente (di solito ogni 24 ore). Questo fatto limita enormemente l’invio di messaggi con un proprio mail server, perché il server e-mail del destinatario classifica spesso i messaggi spediti utilizzando una connessione con un indirizzo IP dinamico come spam. Ciò è dovuto anche dal fatto che chi genera spam, utilizza spesso degli IP dinamici per inviare i suoi fastidiosi messaggi, perciò si dovrebbe cercare di evitare di utilizzare un indirizzo che cambia continuamente. Inoltre, le e-mail che vengono inviate automaticamente da un computer e che dispongono di un IP dinamico, non vengono spesso generate dal legittimo proprietario del computer, ma si tratta di malware che si sono infiltrati nel sistema.

Molti filtri spam dei mail server classificano come non attendibili gli indirizzi IP dinamici, per i motivi spiegati sopra. Quindi una connessione ad Internet con un IP dinamico si adatta solo in determinate circostanze per l’invio di messaggi tramite un mail server collegato.

Anche il server e-mail presentato in questo tutorial, non si presenta sotto quest’ottica come un classicomail server. Tuttavia, con alcuni accorgimenti e/o costi mensili aggiuntivi può essere aggiornato e trasformato in un mail server convenzionale.

Vantaggi e svantaggi: quando conviene configurare un proprio mail server?

Le difficoltà che sorgono con un indirizzo IP dinamico rappresentano la pecca più grave di un mail server configurato manualmente. Si sconsiglia perciò di utilizzare questo server per il traffico e-mail quotidiano, in quanto c’è il rischio che la maggior parte dei vostri messaggi finisca nella cartella spam del destinatario. Ma, anche se il mail server non va a sostituire il vostro classico servizio di e-mail, può comunque risultare utile impostarne uno.

Se siete particolarmente interessati a studiare la configurazione e l’amministrazione di un mail server, sicuramente è più che opportuno configurarne uno proprio. Per questo non esiste un modo migliore per imparare a prezzi vantaggiosi che utilizzare un Raspberry Pi. Conviene anche impostare un proprio mail server, qualora in una rete interna (ad esempio di un’azienda o di un’organizzazione) si volesse avere l’assoluto controllo sui dati delle vostre e-mail. Un mail server in una rete locale garantisce che le informazioni scambiate vengano salvate solo sugli hard disk del mittente, del destinatario e sul vostro server e-mail.

Ormai si dà sempre più valore alla propria privacy e perciò impostando un proprio mail server interno si ha a disposizione una soluzione sicura per salvare i propri messaggi, al riparo da occhi indiscreti. Così solo gli amministratori di rete hanno accesso all’archivio completo delle e-mail e l’invio non avviene tramite il mail server di un provider. Nei paragrafi successivi vi elenchiamo nel dettaglio i pro e i contro della configurazione di un proprio mail server con Raspberry Pi.

Vantaggi

  • In una rete privata solo voi avete accesso all’archivio completo delle e-mail. I messaggi si trovano solo sul vostro server, dove terze parti possono leggere le e-mail solo dietro vostro consenso e in conformità con il diritto alla privacy.
  • Anche al di fuori di una rete privata, è possibile impedire che terzi accedano alle vostre e-mail, ma per questo il mittente e il destinatario hanno bisogno di un mail server privato. Se il destinatario dispone a sua volta di un server per le e-mail configurato e gestito autonomamente, senza appoggiarsi ad alcun provider, tutti i dati scambiati verranno salvati esclusivamente sui rispettivi mail server privati.
  • Si consiglia di usare delle tecniche per crittografare le e-mail per proteggere i propri dati, e questo si dovrebbe fare anche nel caso in cui il traffico e-mail avvenga tra due mail server privati. Per quanto riguarda la sicurezza dei dati, un mail server gestito autonomamente offre un ulteriore vantaggio: se l’invio di e-mail avviene tramite il server di uno o più provider, questo può sempre leggere i dati dell’header dei messaggi, anche se mittente e destinatario usano una crittografia PGP. Infatti i dati rimangono sempre aperti con il software PGP, ma se entrambe le parti in causa impostano un proprio mail server, aggireranno questo inconveniente sulla privacy, mantenendo privato il loro scambio di messaggi e non accessibile a terzi.
  • Controllate autonomamente senza eccezioni il sistema e potete perciò configurare come più vi aggrada le impostazioni del software del mail server. Inoltre non avete limitazioni per quanto riguarda le dimensioni degli allegati o la quota di memoria generale dei vostri account e-mail (ammesso che disponiate di uno spazio sufficiente da poter collegare al mail server).
  • Potete sincronizzare i vostri dati (come e-mail tramite IMAP, contatti via CardDAV o il calendario tramite CalDAV), in modo che siano presenti gli stessi dati su tutti i dispositivi che accedono al mail server.
  • Per il dominio collegato al mail server potete creare diversi indirizzi e-mail.
  • Non ricevete nessuna e-mail pubblicitaria da parte del provider.

Svantaggi

  • Gestire un proprio server comporta maggiori responsabilità sul fronte della sicurezza e un mail server non fa certo eccezione, visto che rimane permanentemente online e può essere sempre vittima di attacchi hacker. Dovreste aggiornare regolarmente i software, in particolare i programmi per la protezione dei dati e controllarli, in modo che gli hacker non possano accedere al vostro server (e sfruttarlo eventualmente per inviare e-mail spam). Per amministrare un mail server accessibile al pubblico, si deve perciò essere ben informati sugli standard di sicurezza e continuare ad aggiornarsi sempre. 

  • Come già accennato, le e-mail in uscita che hanno un indirizzo IP dinamico vengono viste molto probabilmente dal mail server del destinatario come spam e finiscono direttamente nell’apposita cartella. Ma è possibile aggirare l’inconveniente in queste due maniere:

    1. Per inviare le e-mail ricorrete ad un altro mail server (commerciale), su cui avete già un indirizzo e-mail. Una volta che avete finito di configurare il vostro mail server, potete impostare un client di posta elettronica collegato, tramite il quale inviate i messaggi dal server del provider e non dal vostro.

      Svantaggio: il processo va a scapito del pieno controllo sui vostri dati. Infatti viene attivato il servizio del provider e i messaggi in uscita vengono salvati sul suo server, dove è anche possibile leggerli.

    2. Richiedete un indirizzo IP statico per la vostra connessione. Così il vostro mail server privato si avvicinerà molto di più a quelli professionali, anche se non è improbabile che l’indirizzo statico si debba prima conquistare una certa reputazione presso gli altri server (e quindi dimostrare di essere attendibile presso gli altri provider). Molti mail server sono infatti scettici, in caso ricevano dei messaggi provenienti da nuovi mail server. Prima di tutto dovete dimostrare che il vostro server non venga utilizzato per l’invio di spam.

       Per poter gestire efficacemente un proprio mail server, oltre ad un indirizzo IP statico, dovreste ancora disporre di:

      • un Mail Exchange Resource Record (abbreviato in MX Record) del dominio in uso. Si tratta di una risorsa del Domain Name System (DNS), che segnala il vostro mail server come server addetto alla ricezione delle e-mail su uno specifico dominio

      • PTR Resource Record (PTR Record), che tramite “reverse lookup” del DNS, risale dall’indirizzo IP al nome host associato.

      Una connessione ad Internet con un indirizzo IP statico non è comunque sempre    facile da ottenere, e nel caso si riesca ad averla, comporta in genere dei costi maggiori.

  • I filtri antispam dei mail server privati sono meno efficaci rispetto a quelli dei provider più diffusi, in quanto i loro software hanno già imparato molto dall’enorme quantità di e-mail elaborate, riuscendo così a individuare meglio le e-mail spam e a classificarle. Comunque è possibile migliorare la protezione contro lo spam del vostro mail server tramite dei programmi appositi.

Requisiti per configurare un proprio mail server

Prima di tutto avete ovviamente bisogno di un indirizzo e-mail di cui disporre liberamente. Per questo registrate un dominio e siccome disporrete molto probabilmente (come da consuetudine) di un indirizzo IP dinamico, vi spieghiamo di seguito come poter installare un mail server sul vostro Raspberry Pi con un IP di questo tipo.

Per configurare un mail server su Raspberry Pi, oltre a questo piccolo computer, avrete bisogno anche:

  • del sistema operativo Raspbian;
  • di una scheda di memoria (micro) SD (di almeno 4GB di spazio, ma meglio se di più);
  • di una connessione Internet flat (collegata con un cavo di rete o anche tramite Wi-Fi);
  • di un’erogazione costante della corrente necessaria per il Raspberry Pi (tramite micro-USB);
  • di un computer con client SSH (come PuTTY o OpenSSH), collegato al Raspberry Pi (qui basta inserire l’indirizzo IP del Raspberry Pi nel client SSH), per effettuare l’accesso remoto al terminale del Raspberry Pi

o

di uno schermo e dispositivi di ingresso per utilizzare il terminale, qualora non vogliate usare il client SSH.

Inoltre potete utilizzare anche un altro supporto di memoria (come una pen drive o un hard disk esterno), nel caso in cui vi serva più spazio sul mail server.

Un mail server deve essere sempre raggiungibile su Internet allo stesso indirizzo e quindi è necessario che sia costantemente online. Anche per questo motivo, un indirizzo IP statico è la soluzione migliore per la vostra connessione, ma spesso non disponibile. In alternativa potete anche utilizzare dei servizi, che offrono (spesso gratuitamente) un DNS dinamico (DDNS). Tramite DDNS assegnate al vostro mail server un nome di dominio. Con l’aiuto di un programma, questo nome di dominio viene associato all’indirizzo IP attuale della vostra connessione e diventa così un indirizzo fisso del vostro mail server. Alcuni router hanno già integrata una funzione simile, ad esempio quelli di Fritz!Box (scopritene di più su come impostare un DDNS per il vostro mail server sul sito ufficiale del prodotto.

Configurare un mail server su Raspberry Pi

Prima di passare alla configurazione vera e propria del mail server, stabilite un indirizzo IP privato statico all’interno della rete per il Raspberry Pi. Un mail server viene controllato allo stesso modo di un sito web tramite un indirizzo IP in rete e per essere sempre raggiungibile da tutti i mail server, il server ha bisogno di mantenere lo stesso indirizzo. Questo indirizzo IP fisso della rete locale non è da confondere con quello della connessione ad Internet, di cui si è parlato prima.

Stabilire un indirizzo IP statico privato

Nella vostra rete locale un mail server per il Raspberry Pi ha bisogno di un indirizzo IP statico per poter gestire in qualsiasi momento tutte le e-mail in entrata e in uscita. Ma visto che normalmente in una rete locale viene attribuito un indirizzo IP dinamico al Raspberry Pi, dovete assegnargli ora un indirizzo IP statico.

Per cambiare l’IP locale del Raspberry Pi, dovete prima di tutto identificare l’IP dinamico attuale, facendo scorrere ad esempio il mouse sul simbolo di Internet sul desktop del sistema operativo Raspbian. Annotatevi questo indirizzo. Nel nostro tutorial prendiamo ad esempio il nostro indirizzo IP dinamico originario 192.168.0.3 per il Raspberry Pi.

Dopo aver cliccato con il tasto destro del mouse sul simbolo di Internet, scegliete la voce opzioni Wi-Fi e, sul menu comparso, cliccate su “eth0“. Nell’apposito campo inserite la sequenza di numeri (ogni blocco a tre cifre separato da un punto) dell’indirizzo IP, nel nostro esempio 192.168.0. Ora aggiungete nell’ultimo campo rimasto una cifra, che non è stata assegnata a nessun altro dispositivo della rete (in generale qui tutti i numeri sopra 100 sono riservati agli indirizzi IP statici). Nel nostro tutorial utilizziamo l’indirizzo IP 192.168.0.101. Dopo aver stabilito l’indirizzo IP privato statico, riavviate il Raspberry Pi.

Installare il mail server con Citadel/UX sul Raspberry Pi

Nel prossimo passaggio dovreste configurare il mail server sul Raspberry Pi. In questo caso utilizziamo il groupwareCitadel/UX, che supporta il protocollo SMTP così come quelli IMAP e POP3. Inoltre, Citadel si presenta con l’interfaccia utente di una webmail e offre anche funzioni per il calendario, la gestione dei contatti e delle note.

Per la configurazione usate il terminale e da là aggiornate i pacchetti già installati con i seguenti comandi:

sudo apt-get update
sudo apt-get upgrade

Citadel è preconfigurato, in modo da utilizzare durante l’installazione gli indirizzi IPv4 e IPv6 come protocolli di trasferimento. Non appena il programma si accorge che non è possibile usare alcun IPv6, il processo di installazione viene interrotto. Perciò attivate il protocollo con il comando

sudo modprobe ipv6

e configurate poi Citadel con questa stringa:

sudo apt-get install citadel-suite

Nella schermata successiva impostate che il server possa ricevere le richieste su tutti gli indirizzi, accettando l’indirizzo predefinito 0.0.0.0. Seguono altri comandi, tramite i quali potete stabilire di utilizzare un database interno per gestire la password di Citadel. Inoltre scegliete il nome utente amministratore (qui potete semplicemente lasciare “admin”, come proposto) e la password correlata.

A questo punto dovete scegliere se utilizzare Citadel con il web server interno Webcit (già compreso nel groupware) o se volete collegargli il web server Apache già installato, senz’altro la soluzione giusta se avete già seguito il nostro tutorial ed effettuato la configurazione di un web server Apache sul Raspberry Pi. Di seguito vi spieghiamo perciò come configurare un web server interno e diamo per scontato che abbiate scelto di utilizzare le solite porte proposte per il mail server (configurare il port forwarding per la porta 80 HTTP e la porta 443 HTTPS). Infine impostate la lingua per il web server Webcit.

Configurare il mail server con Citadel

Ora avviate Citadel dal terminale con questo comando:

sudo service citadel start

Sul vostro browser inserite poi l’indirizzo IP privato statico del vostro Raspberry Pi (nel nostro esempio 192.168.0.101), così da aprire il mail server di Citadel. Tuttavia, non potete ancora loggarvi nel programma, visto che dovete ancora impostare che Citadel non acceda tramite IPv6, ma tramite IPv4.

Per questo usate di nuovo il terminale e iniziate nuovamente il setup di Citadel con il comando

sudo /usr/lib/citadel-server/setup

Loggatevi come admin. Mantenete il nome utente “citadel” e inserite come indirizzo un’altra volta 0.0.0.0; potete lasciare le restanti impostazioni del setup così come sono. Infine, per salvare tutte le modifiche, riavviate Citadel.

Collegare il mail server con Citadel sul Raspberry Pi

Se aprite un’altra volta Citadel dal browser, inserendo l’indirizzo IP di Raspberry Pi, ora dovreste anche potervi loggare con il nome utente admin e la password correlata. Per prima cosa scegliete dal menu laterale sulla sinistra “Amministrazione” e cliccate su “Configurazione globale” alla voce “Modificare le impostazioni del sistema”. In questo tutorial imposteremo solamente il Simple Mail Transfer Protocol (SMTP), necessario per l’invio delle e-mail; la configurazione di IMAP e POP3 per ricevere e aprire le e-mail va effettuata in modo analogo.

Scegliete la voce del menu “SMTP“. Qui vedete le tre porte, utilizzate dal mail server di Citadel. Per poterle usare, dovete però assicurarvi che anche il vostro router sia sbloccato. Perciò segnatevi i numeri delle tre porte e configurate di conseguenza il vostro router.

Nel caso in cui non conosciate il vostro indirizzo, inserite nel prompt dei comandi di Windows il comando “ipconfig” e controllate l’indirizzo segnato alla voce “Gateway predefinito”; la maggior parte delle volte si tratta di 192.168.0.1 o 192.168.178.1. Loggatevi ora sulla pagina di configurazione del router. Se non avete mai impostato un nome utente personalizzato o non avete mai cambiato la password iniziale, all’indirizzo RouterPasswords.com trovate molti modelli e le relative impostazioni di default. Non appena siete sulle impostazioni di configurazione del router, andate nel menu per il port forwarding. Qui inserite l’indirizzo IP del Raspberry Pi, comprensivo dei numeri delle tre porte. Inoltre, dovete ancora impostare la porta 80 per l’interfaccia della vostra webmail. Una volta terminati tutti questi passaggi, potete utilizzare Citadel come mail server.

Collegare il nome di dominio con l’indirizzo IP del mail server

Per rendere sempre raggiungibile allo stesso indirizzo il mail server di Raspberry Pi, registratevi presso un servizio DDNS, inserite lì il nome di dominio corrispondente e collegatelo a Citadel nell’ultimo passaggio. Dovete registrare il nome di dominio come “DNS Host (A)” fornendo il vostro indirizzo IP attuale, che vi ha assegnato il vostro provider. Potete scoprire quale sia questo indirizzo IP ad esempio su www.whatsmyip.org.

Se inserite sul vostro browser il nome di dominio registrato, si apre una pagina del vostro mail server con Citadel. Ora dovete aprire la voce del menu “Amministrazione” e cliccare su “Configurazione del nome di dominio e dell’e-mail”. Qui inserite e aggiungete alla voce “alias per questa macchina” il nome del dominio. Infine andate su “Modificare le impostazioni del sistema” sotto la voce “Amministrazione”. Qui eliminate prima di tutto il “nome del nodo” e inserite al suo posto sotto “Nome di dominio completamente qualificato” il vostro nome di dominio. Una volta salvate le impostazioni, cliccate di nuovo sulla voce del menu “Amministrazione” e scegliete di riavviare il mail server di Citadel.

Ora è tutto pronto: il vostro mail server è configurato e può essere usato tramite la webmail installata. È possibile anche utilizzarlo con un altro client di posta elettronica (Thunderbird, Outlook, ecc.) e ampliare Citadel con molte altre funzioni.

Conclusione: quando è consigliabile configurare un proprio mail server su Raspberry Pi?

Se utilizzate il Raspberry Pi come mail server insieme ad una connessione Internet con un indirizzo IP statico, potete impostare un server professionale per le e-mail. In questo caso si consiglia di inserire non solo i campi obbligatori citati sopra (PTR Record e MX Record), ma anche SPF Resource Record (SPF Record) e DKIM (DomainKeys). Così riducete la possibilità che gli altri server classifichino le e-mail in uscita dal vostro mail server come spam. Ovviamente, come già citato, un mail server deve prima costruirsi una propria reputazione, in modo che i messaggi inviati vengano classificati sempre meno come spam, pratica difficile da raggiungere con server privati in cui si registrano poche attività.

Se disponete solo di una connessione Internet con un indirizzo IP dinamico, per farlo funzionare meglio, potete configurare il mail server del Raspberry Pi tramite DDNS, anche se le vostre e-mail continueranno a finire spesso nella cartella spam del destinatario. Perciò è importante informare i destinatari principali dei vostri messaggi di configurare il filtro antispam, in modo che le vostre e-mail non finiscano tra lo spam. Si consiglia di dare un avviso simile, qualora con il mail server si voglia raggiungere un gruppo preciso di persone (come i colleghi in azienda, un gruppo di lavoro, ecc.). Ma soprattutto se tutti i partecipanti sono collegati alla stessa rete locale, vale senz’altro la pena di configurare un mail server interno.

Uno dei vantaggi maggiori di configurare un proprio mail server senza connettersi ad un provider risiede nell’assoluto controllo dei dati. Se non è così importante per voi impostare e gestire un proprio mail server per questa ragione, difficilmente sarete ricompensati del notevole impegno richiesto per la configurazione, per il controllo e per l’aggiornamento del server. In un caso simile, è meglio rivolgersi ad un grande provider specializzato nel traffico e-mail. In genere a trarre vantaggio da un mail server privato, sono soprattutto i tecnici del settore e gli appassionati, che vorrebbero conoscere e comprendere la tecnologia dietro un mail server sfruttando il Raspberry Pi.


Un momento! Prima di lasciarci scopri
la nostra offerta per il rientro dalle ferie:
dominio .it a 1 € per il primo anno!

Primo anno a 1 € IVA escl.,
poi 10 €/anno IVA escl.

Inserisci il dominio desiderato nella barra di ricerca per verificarne la disponibilità.