Vivo en la paranoia que en cualquier momento alguna de mis cuentas de algún servicio gratuito sea cerrada por cualquier motivo. Para esto, intento tener un respaldo de los correos actualizado, para esto utilizo mbsync que se encarga de descargar todos mis correos de Gmail y de una cuenta que utilizo para trabajar.
Una vez instalado isync
, hay que generar la contraseña en Gmail para poder accesar al correo.
Luego en macOS agregamos las contraseñas al Keychain, en Linux se puede utilizar pass
que almacena las contraseñas en archivos protegidos con gpg
.
security add-generic-password -a 'user@gmail.com' -s 'isync' -w xxxxxxxxxxxxxxx
Para confirmar que se a guardado la contraseña, que es el mismo comando (PassCmd
) utilizado por mbsync
para obtener la contraseña de una forma segura:
security find-generic-password -a 'user@gmail.com' -s 'isync' -w
En la siguiente configuración, yo guardo mis correos en dos diferentes carpetas, una para trabajo ~/Mail/Work/
y otra para Gmail ~/Mail/Gmail/
.
~/.mbsyncrc
CopyArrivalDate yes # Don't mess up message timestamps when moving them between folders.
Sync Pull # Download changes only, don't sync local changes up to the server.
Create Near # Automatically create new folders in the local copy.
Remove Near # Automatically remove deleted folders from the local copy.
Expunge Near # Expunge deleted messages from the local copy.
### Work
IMAPAccount work
SSLType IMAPS
Host imap.domain.com
User user@domain.com
PassCmd "security find-generic-password -a 'user@domain.com' -s 'isync' -w"
IMAPStore work-remote
Account work
MaildirStore work-local
Path ~/Mail/Work/
Inbox ~/Mail/Work/Inbox
SubFolders Verbatim
Channel work
Far :work-remote:
Near :work-local:
Patterns *
SyncState *
### Gmail
IMAPAccount gmail
SSLType IMAPS
AuthMechs LOGIN
Host imap.gmail.com
User user@gmail.com
PassCmd "security find-generic-password -a 'user@gmail.com' -s 'isync' -w"
Pipelinedepth 1
Timeout 60
IMAPStore gmail-remote
Account gmail
MaildirStore gmail-local
Path ~/Mail/Gmail/
Inbox ~/Mail/Gmail/Inbox
SubFolders Verbatim
Channel gmail
Far :gmail-remote:
Near :gmail-local:
Patterns *
SyncState *
Y para crear el respaldo de los correos, solo se ejecuta el siguiente comando:
mbsync -a
Fuentes: