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 et 2 : la source, et la destination
  • host : l'adresse des relai.
  • user : le compte mail à synchroniser
  • password : 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'option nossl (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.

 Ce texte est placé sous licence CC0

CC Attribution-Noncommercial-Share Alike 4.0 International Driven by DokuWiki
pratique/informatique/imapsync.txt · Dernière modification : 11/11/2023 11:26 de Zatalyz