Migrare la posta elettronica da un provider ad un altro

La migrazione delle caselle email da un provider ad un altro è una tra le operazioni più delicate che affrontiamo nel nostro lavoro quotidiano.

Questa situazione si verifica,  quando capita di trasferire presso le nostre infrastrutture dei siti web preesistenti con email legate al nome di dominio.

Il tempismo in queste operazioni è fondamentale: bisogna essere sicuri che durante il trasferimento non venga perso nulla e che, una volta terminato, le email transiteranno sol sul nuovo provider.

Come ben saprai se ti è già capitato di dover svolgere operazioni simili, questo lavoro si può rivelare lungo, noioso e non esente da imprevisti.

Attraverso questo articolo ti vogliamo presentare il nostro approccio al problema, in maniera semplice e con l’utilizzo di un tool che ne semplifica la gestione.

Una questione di protocollo

Il primo problema che ti dovrai porre sarà il protocollo necessario per la ricezione della posta relativamente sia al provider di origine che a quello di destinazione.
Per la ricezione delle email possiamo affidarci ai protocolli di posta POP3 e IMAP che definiscono le politiche con cui la posta sarà instradata. Ogni provider generalmente offre la possibilità di utilizzare entrambi: deciderai tu quale configurare in base ad esigenze personali o dei tuoi clienti.

Senza entrare troppo nel dettaglio queste sono le principali differenze tra i due protocolli:

  1. POP3 scarica i messaggi in locale, mentre IMAP li lascia memorizzati sul server. Puoi comunque leggere i messaggi attraverso IMAP anche quando sei offline poiché vengono salvati nella cache del sistema (o dell’applicazione che utilizzerai per leggere la posta). Quando aprirai il messaggio, se sei online il contenuto verrà ricaricato aggiornato dal server e nel caso invece tu lo abbia cancellato da un programma di posta in un altro dispositivo o su una webmail, non ne avrai più accesso.
  2. IMAP è più performante in termini di velocità, in quanto ogni risorsa presente nel messaggio viene caricata separatamente e in base alla scelta dell’utilizzatore. Se POP3 scarica ogni email presente sul server indipendentemente da allegati, intestazioni, testo del messaggio ecc., attraverso il protocollo IMAP l’utente può scegliere selettivamente cosa vuole scaricare.
  3. Ogni operazione svolta attraverso il protocollo IMAP su una casella email è server-side. Se effettui un azione questa non agirà solo a livello locale, ma attraverso un processo di sincronizzazione, si otterranno gli stessi risultati in qualunque altro programma di posta elettronica e / o webmail sia configurata la casella.

In un presente che è sempre più smart e cloud, IMAP esce vincitore dal confronto. Non per questo motivo deve essere la scelta da adottare in ogni situazione.
Molto spesso si sceglie ancora di utilizzare il protocollo POP3 perché i provider non offrono abbastanza spazio di archiviazione per immagazzinare messaggi e allegati (in media ogni casella IMAP mette a disposizione uno spazio compreso tra 1 e 5gb) oppure quando si ha l’esigenza di dover accedere a una casella da parte di più utenze, evitando di eliminare messaggi che rischierebbero di non essere letti .

Backup delle caselle

Ora che hai più chiaro quale protocollo adottare con il nuovo provider, dovrai comunque procedere con un salvataggio dei messaggi memorizzati in quello precedente.
Il protocollo di partenza è POP3? I messaggi sono già memorizzati sul tuo client di posta elettronica, assicurati solo che siano accessibili in un formato corretto per essere poi re-importati sul client di posta elettronica che utilizzi.
Se invece il protocollo è IMAP, dovrai trasferire tutti i messaggi dal server mail vecchio o a quelle nuovo, che nel frattempo dovrai aver attivato.

Per evitare di incorrere in un lungo lavoro di clonatura della casella da un server ad un altro puoi utilizzare una utility chiamata imapsync.

Come funziona imapsync

imapsync è lo strumento ideale per migrare le caselle IMAP

imapsync è un progetto sviluppato in linguaggio Perl e disponibile per Windows, Linux e Mac Os che offre una interfaccia a linea di comando (CLI) per sincronizzare due account IMAP.
Se avete a disposizione una distribuzione basata su Debian / Fedora, imapsync è già presente all’interno dei repository ufficiali e sarà possibile scaricarlo direttamente dal terminale o dal tuo gestore di pacchetti preferito.
Il programma presenta una miriade di funzioni (se per esempio il tuo server supporta SSL, OAuth per Google ecc.), e per ogni esigenza ti consigliamo di spulciare la documentazione completa. Vogliamo invece soffermarci su due utilizzi pratici.

1. Trasferimento di una casella dal provider vecchio al nuovo

  1. imapsync --host1 mail.server.vecchio --user1 user1 --password1 pw1 --host2 mail.server.nuovo --user2 user2 --password2 pw2

Dove:

host1 rappresenta il server mail appartenente al provider di partenza.
host2 rappresenta il server mail appartenente al provider nuovo.
user1 e pass1 rappresentano username e password della casella sul provider vecchio
user2 e pass2 rappresentano username e password della casella sul provider nuovo

Facile no?

2. Trasferimento di una lista di contatti dal provider vecchio al nuovo

Immaginiamo di avere un file di testo che rappresenta tutte le caselle di un dominio di cui vogliamo effettuare il trasferimento. Il contenuto del file email.txt potrebbe essere:

  1. user001_1;password001_1;user001_2;password001_2
  2. user002_1;password002_1;user002_2;password002_2
  3. ...
  4. user00n_1;password00n_1;user00n_2,password00n_2

Molto facilmente dovresti intuire che su ogni riga sono contenuti username e password del provider vecchio e corrispettivi del nuovo con un separatore (il punto e virgola).
Se vuoi in unico comando effettuare il trasferimento di tutte le caselle potrai utilizzare il comando:

  1. { while IFS=';' read u1 p1 u2 p2; do
  2. imapsync --host1 mail.server.vecchio --user1 "$u1" --password1 "$p1" --host2 mail.server.nuovo --user2 "$u2" --password2 "$p2"
  3. done ; } < email.txt

Cambio del record MX sulla configurazione DNS

Adesso che hai fatto il backup di tutte le caselle, puoi procedere con il cambio del record MX sul tuo server DNS, tramite il pannello di configurazione DNS fornito dal tuo provider o tramite un servizio di terze parti come Cloudflare.

Il record MX (Mail eXchanger) indica al server SMTP di invio dove trovare il server mail ricevente sul dominio di destinazione.

Dovrai quindi eliminare il precedente record assegnato e inserire il nuovo che corrisponde all’indirizzo del mail server sul provider nuovo.

Ricorda che ogni record MX ha una priorità: inserire più record MX che puntano a provider diversi si rivela un errore grave perchè minaccia la deliverability dei messaggi che ricevi.

Configurazione dei record DNS
Configurazione record DNS su Cloudflare
Fonte: Cloudflare

Meglio tenere gli occhi sempre aperti…

Se hai seguito ogni passaggio, ora dovrai solo aspettare che la propagazione dei DNS sia andata a buon fine (l’operazione può durare anche 24/48 ore).

Durante questo periodo assicurati che ogni messaggio che arriverà sul server vecchio sia nuovamente trasferito sul nuovo e per questo potrai utilizzare sia un metodo manuale (essendoci meno messaggi) sia imapsync.

Una volta che la propagazione è finita, ogni messaggio dovrebbe essere stato correttamente salvato. Riconfigura le caselle di posta con i parametri nuovi.

La tua missione è finalmente conclusa!

Dai un’occhiata ai servizi di hosting e domini con caselle di posta elettronica personalizzabili che offriamo a privati e aziende! Richiedi subito un preventivo gratuito!

Andrea Debernardi

Andrea Debernardi

Cofondatore di dueclic, sviluppatore e appassionato di tecnologia. Pur essendo fortemente orientato al web la mia curiosità continua e attrazione riguardo le novità non mi precludono nulla nella programmazione. Non mi piace avere limiti perciò tendo a colmarli continuamente.