Main menu:

Site search

Categories

décembre 2011
L M M J V S D
 1234
567891011
12131415161718
19202122232425
262728293031  

Archive

Conky: Afficher le nombre de mails non-lus dans une boîte gmail

Pour être averti en permanence du nombre de mails présents dans mes différentes boîte aux lettres, j’utilise Conky.Charge CPU, mémoire libre et utilisée, utilisation des disques et des partitions, renseignements réseau et nombre de mails présents dans une mailbox font partie des possibilités de Conky. En ce qui concerne ce dernier point, Conky se débrouille très bien tant que le serveur POP3 ne nécessite pas de connexion sécurisée (SSL). Une simple ligne, ajoutée au fichier de configuration de Conky du genre de celle ci-après, suffit dans bien des cas:

pop3_unseen votre_serveur_mail.com votre_login votre_password [-i 120]

Cette commande permet d’afficher le nombre de mails non-lus toutes les 120 secondes. Il faut bien entendu remplacer votre_serveur_mail.com, votre_login et votre_password par vos propres paramètres.

Malheureusement, gmail nécessite justement une connexion sécurisée pour se connecter. Heureusement, Conky permet de lancer une application externe et nous allons utiliser cette capacité pour exécuter un (tout) petit script python affichant le nombre de mails présents dans la mailbox à la place de Conky.
Le script ressemble à ceci:

#!/usr/bin/python
# -*- coding:Utf-8 -*-

import poplib

server = "votre_serveur_mail.com"
port = 995
user = "votre_login"
password = "votre_password"

try:
  connection = poplib.POP3_SSL(server,port)
  connection.user(user)
  connection.pass_(password)
  # La méthode stat() retourne un tupple 
  # (nombre de messages, taille de la mailbox)
  print str(connection.stat()[0])
  
except poplib.error_proto:
  print "Error"

Donnez aux variables server, user et password les bonnes valeurs. Sauvegardez ce script dans un fichier que vous appellerez gmailpop.py par exemple. Rendez-le exécutable et copiez-le dans /usr/local/bin de façon à ce qu’il soit trouvable par le système.
Enfin, il ne reste plus qu’à dire à Conky qu’il doit exécuter ce script toutes les 120 secondes en ajoutant au fichier de configuration de Conky, ~/.conkyrc, la ligne suivante:

execpi 120 gmailpop.py

Au besoin, relancez Conky de façon à ce que le changement dans son fichier de configuration soit pris en compte mais notez que dans les dernières versions, ce n’est plus nécessaire, Conky détectant tout seul tout changement de son fichier .conkyrc.