imapfilter ou comment filtrer ses mails facilement

Posté le mar. 11 mars 2014

Installer imapfilter via apt par exemple :

apt-get install imapfilter

Se rendre dans le dossier de configuration :

cd ~/.imapfilter

Créer un fichier config.lua :

touch config.lua

Maintenant je décide de faire un fichier de configuration par boite email.

Ici gmail :

cat > gmail.lua <<EOF
gmail = IMAP {
    server = 'imap.gmail.com',
    username = 'mail@gmail.com',
    password = 'mon_mot_de_passe',
    ssl = 'tls1.2',
}
EOF

Et un pour Yahoo :

cat > yahoo.lua <<EOF
yahoo = IMAP {
    server = 'imap.yahoo.com',
    username = 'mail@yahoo.com',
    password = 'mon_mot_de_passe',
    ssl = 'tls1.2',
}
EOF

⚠️ À ne pas reproduire : j’avais mis ssl = ‘ssl3’ : SSLv3 est cassé depuis la faille POODLE (2014) et refusé par la quasi-totalité des serveurs ; le forcer expose au downgrade, alors que ces fichiers .lua contiennent le mot de passe du compte mail en clair. Utilise tls1.2 et protège ces fichiers avec chmod 600 gmail.lua yahoo.lua.

Ajouter nos boites dans le fichier de config avec des filtres :

if_dir = os.getenv('HOME') .. '/.imapfilter/'
-- on inclus nos comptes imap…
dofile(if_dir .. "gmail.lua")
dofile(if_dir .. "yahoo.lua")
-- nos options
options.timeout = 120
-- filtres pour le compte gmail (on copie les messages non lus dans la boite "nouveaux")
nonlugmail=gmail.INBOX:is_unseen()
nonlugmail:copy_message(gmail['nouveaux'])
-- filtres pour le compte yahoo (on supprime tous les messages lus)
del_read_yahoo=yahoo.INBOX:is_seen()
del_read_yahoo:delete_messages()

Maintenant c’est à vous de faire vos propres filtres. Une fois configuré, lancer imapfilter simplement depuis le terminal :

imapfilter

Commentaires

Chargement des commentaires…