Migrare da Gmail Apps a IBM Domino - breve tutorial

migrare gmail domino posta google

  • 6 commenti
In una recente attività presso un cliente, ho dovuto migrare 100 caselle di posta da Google Business a IBM Domino (si avete capito bene da GMAIL a DOMINO!)

Di questi 100 utenti , 20 utilizzano il client MS Outlook con l'utility Google App Sync  (che spesso e volentieri andava in crash! n.d.r)

Come procedere quindi alla migrazione dei dati di posta, calendario e contatti? (stiamo parlando di oltre 300GB)

Ecco qui di seguito la mia soluzione:

MIGRAZIONE EMAIL


Ho utilizzato l'utility IMAPSync abilitando sia su Domino che su Gmail il protocollo IMAP, quindi sostanzialmente la migrazione viene fatta leggendo i dati da IMAP e scrivendoli su IMAP.
Successivamente ho creato tutte le caselle di posta di Gmail in Domino registrandole con l'import TXT in fase di registrazione (Ho fatto un export da Gmail, organizzato le colonne con Excel, ed registrati tutti gli utenti in massa con il file preparato appositamente. Per ulteriori dettagli leggere qua)

Poi ho attivato il servizio IMAP su Domino ed ho preparato tutti i database di posta all'accesso IMAP con il comando load convert -e PATH

Infine ho utilizzato l'utility IMAPSync, facendo in modo che leggesse da un CSV così formato i dati di accesso alle caselle e li migrasse con uno script:

usernamegmail1;pwdgmail1;usernamedomino1;pwddomino1

usernamegmail2;pwdgmail2;usernamedomino2;pwddomino2

usernamegmail3;pwdgmail3;usernamedomino3;pwddomino3

etc...



In linux (Centos) ho creato uno script ( start.sh ) che fa la migrazione ed in fondo vedrete che esistono diverse --regextrans2 che perfettono matchare le folders IMAP native speciali di GMAIL con quelle di IBM Domino (ci sono volute diverse prove e test per capire come calibrarlo al meglio)
Ecco a voi lo script:

 
#!/bin/bash

#Configure servers
SERVER1=imap.gmail.com
SERVER2=IP DOMINO SERVER IMAP

#Uncomment to hide folder sizes
#FAST="--nofoldersizes"

#Uncomment to do a dry run (no actual changes)
DRY="--dry"

#Uncomment to just sync folders (no messages)
JUSTFOLDERS="--justfolders"

#Uncomment to just connect (no syncs at all)
#JUSTCONNECT="--justconnect"

#Set the path to your imapsync binary
imapsync=imapsync

#Users file
if [ -z "$1" ]
then
echo "No users text file given."
exit
fi

if [ ! -f "$1" ]
then
echo "Given users text file \"$1\" does not exist"
exit
fi

{ while IFS=';' read  u1 p1 u2 p2; do

$imapsync --usecache --tmpdir /var/tmp \
--host1 ${SERVER1} --user1 "$u1" \
--password1 "$p1" --ssl1 \
--host2 ${SERVER2} \
--user2 "$u2" \
--password2 "$p2" \
${FAST} ${DRY} ${JUSTFOLDERS} ${JUSTCONNECT} \
--sep2 '\' \
--syncinternaldates \
--skipcrossduplicates \
--useheader 'X-Gmail-Received' \
--useheader 'Message-Id' \
--folderlast  '[Gmail]/Tutti i messaggi' \
--regextrans2 's,^Inbox\\(.*),$1,i' \
--regextrans2 's/^\[Gmail\]\\Bozze$/Drafts/' \
--regextrans2 's/^\[Gmail\]\\Posta inviata$/Sent/' \
--regextrans2 's/^\[Gmail\]\\Cestino$/Trash/'
done ; } < $1


Infine lanciando il comando ./start.sh users.csv il gioco è fatto...la migrazione è partita
Tra l'altro i marcatori di lettura vengono anch'essi migrati con successo.

Image:Migrare da Gmail Apps a IBM Domino  - breve tutorial

Se dovessero esserci problemi con il seguente errore

Failure: error login on [imap.gmail.com] with user [XXXX@XXXX.com] auth [LOGIN]: 2 NO [AUTHENTICATIONFAILED] Invalid credentials (Failure)


Significa che va attivata la secureless per ogni casella GMAIL cliccando su ATTIVA da questo link https://www.google.com/settings/security/lesssecureapps   per ogni utente GMAIL..

Una volta completata la migrazione tutte le mail verranno viste come bozze e le date potrebbero essere sballate.

Image:Migrare da Gmail Apps a IBM Domino  - breve tutorial

Ho quindi scritto e messo in esecuzione in background su tutti i database di posta un agent Lotusscript che sistema i campi  PostedDate e DeliveredDate del Documento Notes impostando il valore prendendolo dal campo X-IMAP-Internaldate
Qui sotto un estratto:
 

ForAll
v In dbmail.Views
                              Set foldertmp=v
                              If foldertmp.isFolder Then
                                      If foldertmp.Name<>"($Alarms)" And foldertmp.Name<>"($Inbox-Categorized1)" And foldertmp.Name<>"($MAPIUseContacts)" And foldertmp.Name<>"(Diario di gruppo)" And foldertmp.Name<>"(Regole)" And foldertmp.Name<>"(Sent)" And foldertmp.Name<>"(Drafts)"  Then
                                              Set docNotes=foldertmp.Getfirstdocument()
                                              Print "Inizio Processo Folder... "+foldertmp.Name
                                              Call AddLog(foldertmp.Name)
                                             
                                              conta=0
                                              foldertmp.Autoupdate=false
                                              While Not(docNotes Is Nothing)
                                                      conta=conta+1
                                                      Print "Processo Messaggio... "+CStr(conta)+" - "+foldertmp.Name
                                                      If docNotes.Hasitem("X-IMAP-Internaldate") Then
                                                              campoData=docNotes.Getitemvalue("X-IMAP-Internaldate")
                                                      else        
                                                              campoData=docNotes.Created
                                                      End If
                                                      Call docNotes.Replaceitemvalue("PostedDate",campoData )
                                                      Call docNotes.Replaceitemvalue("DeliveredDate",campoData )
                                                      Call docNotes.save(False,false)
                                                      Set docNotes=foldertmp.Getnextdocument(docNotes)
                                              Wend
                                              Print "Fine Processo Folder... "+foldertmp.Name
                                      End If
                                     
                              End If
                      End ForAll




MIGRAZIONE CALENDARI


I calendari di GMAIL possono essere esportati in formato .ICS ed ogni postazione IBM Notes può tranquillamente importarli (attenzione solo al fatto che il massimo numero di eventi importabili è 5000)
Qualora si superino i 5000 eventi allora è necessario sviluppare o trovare un altra libreria LS o tool di terze parti.

Image:Migrare da Gmail Apps a IBM Domino  - breve tutorial

MIGRAZIONE CONTATTI


I contatti di GMAIL possono essere esportati come VCF e all'interno della rubrica di IBM Notes sono facilmente importabili.

Image:Migrare da Gmail Apps a IBM Domino  - breve tutorial


Spero che la mia esperienza possa giovare a qualun'altro

A presto







 

6 Commenti:

  • #1 Luca Perico 10/08/2015 9:21:31 PM

    Grazie della risposta

  • #2 Matteo Bisi 10/02/2015 11:57:54 AM

    Ok , grazie per la risposta ;-)

  • #3 daniele grillo 10/02/2015 11:04:07 AM

    @matteo: la motivazione maggiore è stata l'acquisizione di questa holding che usava Gmail e l'accorpamento alla sede centrale che utilizzava Domino.

    E cmq sia onestamente visto come lavoravano con GMAIL ed Outlook (il plugin per outlook) hanno guadagnato di brutto secondo me sotto diversi aspetti.

    Gmail for business è la conversione della posta personale su Business...onestamente rispetto a Domino non ci sono paragoni (migrati ad una 9.0.1FP4 e traveler 9.0.1.7)

    Poi si può dire quello che si vuole costi e non costi (ma le licenze Domino per chi arriva dalla concorrenza hanno esattamente lo stesso costo di GMAIL tra l'altro) ma Domino è pensato per chi lavora nel mondo Business (mail-in, room reservation, policy, configurazioni SMTP particolari, personalizzazione spinta dei template, SSO AD..vado avanti? non credo)

    In Gmail mancano tanti aspetti aziendali di management e controllo che hai con l'infrastruttura on premise. Per me non ci sono paragoni.

    Poi vabbhè matteo infine ora mandare una mail al tuo collega è fast perchè avviene tutto in LAN...ma questo lo sentiamo probabilmente solo noi in Italia con la pessima connettività.

    Ciao!

  • #4 Matteo Bisi 10/02/2015 10:38:53 AM

    Bravo buon lavoro e post interessante !

    Puoi scrivere alcune delle motivazioni che hanno spinto il cliente a passare da GoogleApps -> Domino?

    problemi?usabilita?voglia di ritorno on premise e abbandono cloud? Sarebbe interessante , grazie ;-)

  • #5 Daniele 10/01/2015 10:51:58 PM

    Le label Gmail sono ricreare come cartelle su notes. In più se hai outlook su Gmail con la prima regola che ho creato (outlook crea sotto inbox le folders) le converte nella root principale di domino.

    Usare le api rest sarebbe stato più arduo

  • #6 Luca Perico 10/01/2015 10:28:09 PM

    Speriamo ne seguano altre ....

    Immagino tu abbia gestito la coesistenza con lo smart server.

    Per importare le mail hai provato ad usare il file del takeout ? In teoria dovrebbero esserci le label quindi mettere le mail in tutte le cartella avrebbe dovuto essere semplice.

    Sai se qualcuno ha usato le rest APi di gmail ? Questa opzione dovrebbe anche permettere un client Gmail con db su notes.

Commenta articolo
 

Questo spazio web è stato creato da per un uso pubblico e gratuito. Qualsiasi tipo di collaborazione sarà ben accetta.
Per maggiori informazioni, scrivete a info@dominopoint.it

About Dominopoint
Social
Dominopoint social presence: