L’ultima volta che abbiamo parlato di getmail per trasferire la posta elettronica da Gmail su un tuo server dedicato, che sia cloud, VPS o fisico, ti ho spiegato come funziona getmail e ti ho invitato a creare un file di configurazione che ti permettesse di raggiungere lo scopo di trasferire le tue email sul tuo server senza difficoltà. Ora è venuto il momento di istruire questo file di configurazione, affinché tutto funzioni alla perfezione.
Come vedrai nel codice che ti propongo, configurerò getmail perché utilizzi il supporto IMAP di Gmail.
Questa decisione deriva dal fatto che il download dei messaggi di posta elettronica tramite il protocollo POP3 di Google è limitato al trasferimento di soli 99 messaggi alla volta. In questo modo, se hai una casella di posta piena, significa che con il POP3 saresti obbligato a eseguire getmail più di una volta, fino al trasferimento di tutte le email del tuo account.
L’uso del protocollo IMAP, al contrario, permette di trasferire le email da Gmail al tuo server dedicato con un’unica operazione.
Ricordati, dunque, di attivare il supporto IMAP dalle opzioni di configurazione di Gmail.
Configurazione ed esecuzione di getmail
Detto questo, non resta che imbandire il file di configurazione di getmail. Editiamo dunque il file creato la volta scorsa con il comando:
vi /mnt/mir/Backup/GmailBackup/backupgmail.getmailrc
e inseriamo le seguenti direttive:
# definiamo le impostazioni da usare per connettere getmail alla mailbox
[retriever]
type = SimpleIMAPSSLRetriever
server = imap.gmail.com
username = tuoindirizzo@gmail.com
password = tuapassword
mailboxes = (“[Gmail]/All Mail”,) # questo è lo spazio speciale dedicato alle label Gmail che indicano quali messaggi saranno acceduti tramite IMAP. Se si vuole effettuare il backup di altre labler, inserirle qua
port = 993
# dichiarazione delle destinazioni
[destination]
# specifichi che vuoi effettuare il backup verso più destinazioni
type = MultiDestination
# and select the destinations
destinations = (‘[mboxrd-destination]’, ‘[maildir-destination]’)
# impostazioni mbox
[mboxrd-destination]
type = Mboxrd
path = /mnt/mir/Backup/GmailBackup/backup.mbox
# impostazioni maildir
[maildir-destination]
type = Maildir
path = /mnt/mir/Backup/GmailBackup/maildir/
[options]
# evitare l’output
verbose = 0
# scaricare i soli nuovi messaggi
read_all = false
# fare in modo che getmail non aggiunga l’header received ai messaggi salvati
received = false
# fare in modo che getmail non aggiunga l’header delivered_to ai messaggi salvati
delivered_to = false
A questo punto, non ti resta che eseguire getmail e trasferire finalmente tutte le email presenti sull’account Gmail verso il tuo server.
getmail -v -r backupgmail.getmailrc
È tutto! A backup completato, avrai l’intero archivio di email Gmail direttamente sul tuo server. Ora, puoi anche pensare di rendere questa operazione periodica, utilizzando la funzione Cron di Linux, nel seguente modo:
crontab –e
e aggiungi la seguente linea di configurazione
# Ogni 9 minuti (a partire dal decimo minuto dopo ogni ora), recupera le mie email
10,19,28,37,46,55 * * * * getmail -r backupgmail.getmailrc
In questo modo, non solo la posta pregressa sarà stata trasferita da Gmail al server dedicato, ma tutte le nuove email verranno automaticamente sincronizzate sul server stesso.