Imapsync, imapoffline et autres synchronisation/archivage de mail
Deux cas un peu différent :
- Archiver une boite mail définitivement. Dans ce cas offlineimap semble plutôt pertinent (en complément d'une sauvegarde Thunderbird)
- Transférer une boite mail ; dans ce cas imapsync fait parfaitement le travail.
offlineimap
Il marche bien mais il est un peu plus technique à paramétrer “bien”. Franchement c'est peut-être plus facile avec imapsync, mais faut un serveur avec le mail configuré.
Bref.. Créer .offlineimaprc dans son home.
Voilà le mien (sans les mots de passe et avec juste un compte) :
# Sample minimal config file. Copy this to ~/.offlineimaprc and edit to
# get started fast.
[general]
accounts = john
# Controls how many accounts may be synced simultaneously
maxsyncaccounts = 1
sockettimeout = 10
[mbnames]
# Pour que Mutt puisse en faire quelque chose
enabled = yes
filename = ~/.mutt/mailboxes
header = "mailboxes "
peritem = "+%(accountname)s/%(foldername)s"
sep = " "
footer = "\n"
[Account john]
localrepository = johnlocal
remoterepository = johnremote
# Autant de section "Account" que de comptes à synchroniser.
## John
[Repository johnlocal]
type = Maildir
localfolders = /home/moi/archivemail/john
[Repository johnremote]
type = IMAP
remotehost = mail.mondomaine.org
remoteuser = john@mondomaine.org
remotepass = MOT_DE_PASSE
sslcacertfile = /etc/ssl/certs/ca-certificates.crt
ssl = no
startssl = yes
maxconnections = 5
Je ne me souviens plus trop de la fin mais de mémoire il suffit de faire offlineimap
et ça va synchroniser. Ensuite on pourra explorer ça avec Mutt.
Imapsync
Pas besoin d'installer ça sur un serveur ; on peut simplement le faire depuis son propre ordi. Imapsync est dans les dépôts d'Archlinux.
Une fois installé, il faut l'adresse des relais des deux côtés, ainsi que les identifiants des boites mails. On peut bien synchroniser “tartempion@gafam.com” sur “gudule@mondomain.net” en fait…
En premier, on va utiliser l'option --justlogin
pour être sûr que tout se connecte sans souci. Chez Gandi, mieux vaut utiliser l'option tls
, d'ailleurs.
imapsync --justlogin \ --host1 mail.gandi.net --user1 mail@mondomain.org --password1 MOTDEPASSE_COMPTE1 --tls1 \ --host2 poste.mondomain.fr --user2 mail@mondomain.org --password2 MOTDEPASSE_COMPTE2 --tls2
Si tout va bien, on peut faire ceci pour synchroniser :
imapsync --addheader \ --host1 mail.gandi.net --user1 mail@mondomain.org --password1 MOTDEPASSE_COMPTE1 --tls1 \ --host2 poste.mondomain.fr --user2 mail@mondomain.org --password2 MOTDEPASSE_COMPTE2 --tls2 --delete2
1
et2
: la source, et la destinationhost
: l'adresse des relai.user
: le compte mail à synchroniserpassword
: le mot de passe associétls
: ici c'est quand l'option par défaut (ssl
sur le port 993) ne passe pas, autant lui dire de tester en tls (port 143). On n'utilisera pas l'optionnossl
(pas de chiffrement), c'est mal.delete2
: indique de supprimer sur le 2e compte ce qui n'existe pas sur le premier.addheader
: synchronise aussi ce qu'il y a dans les messages envoyés et les brouillons.
Il y a pas mal d'autres options mais pour une synchronisation avant transfert, cela suffit bien.