Index

OfflineIMAP

OfflineIMAP permet de synchroniser des boîtes courriel (distantes) avec une structure de répertoire de type Maildir (local).

La configuration doit se trouver dans le fichier ~/.offlineimaprc, et peut contenir plusieurs boîtes courriel. Chaque bloc de configuration commence par un terme à l'intérieur de crochets. Les paramètres généraux à toutes les comptes sont sous [general].

Ensuite, sont ajoutés les informations spécifique à chaque boîte qu'on veut synchroniser. D'abord, on déclare le compte, puis ensuite les informations locales et distantes.

[general]
ui = ttyui
accounts = hscc,lemorse,plutocrash
autorefresh = 5
pythonfile = ~/.offlineimap.py

#################
# HUGO@SOUCY.CC #
#################

[Account hscc]
localrepository = hscc-local
remoterepository = hscc-remote

[Repository hscc-local]
type = Maildir
localfolders = ~/.Mail/hscc

[Repository hscc-remote]
type = IMAP
remotehost = imap.mailserv.tld
remoteuser = hscc
realdelete = yes
sslcacertfile = /etc/ssl/cert.pem
maxconnections = 3
folderfilter = lambda folder: folder in [ 'INBOX.Sent', 'INBOX', 'INBOX.Drafts' ]
remotepasseval = get_pass_hscc()

La fonction get_pass_hscc() du paramètre remotepasseval permet de déchiffrer le mot de passe qui est protégé par une clé gpg. Cette fonction se trouve dans le fichier python qui est déclarer dans le bloc [general].

~/.offlineimap.py:

#! /usr/bin/env python
from subprocess import check_output

def get_pass_hscc():
    return check_output("gpg -dq ~/.passwd_hscc.gpg", shell=True).rstrip(b"\n")

Pour lancer la synchro on exécuter simplement la commande offlineimap. Si on veut l'automatiser à une certaine fréquence, on crée une tâche de type cron avec crontab -e.

Par exemple, au cinq minutes:

*/5 * * * * /usr/local/bin/offlineimap