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