#1 Le 25/08/2009, à 23:44
- nico_h
[actuellement sans solution] [e17] module mail (question)
salut tous,
je viens de remettre le module mail pour suivre une boîte, il est paramétré comme il faut et ça marche, sauf qu'au lieu de m'afficher le nombre de mels non lus sur le serveur, il m'affiche carrément le nombre de messages total de la boîte, ce qui est beaucoup moins pratique.
je me rappelle pourtant l'avoir utilisé déjà et de n'avoir eu que le nombre de messages non lus d'affiché. pas d'option qui permette de configurer ça, a priori.
et j'ai essayé de jeter un œil au code mais bon voilà quoi... si quelqu'un a une solution plus simple ou peut m'envoyer un retour d'expérience différent... merci !!
Dernière modification par nico_h (Le 12/12/2009, à 22:50)
Config. actuelle : linux mint 22.04 | FreeBSD 12
Des exercices d'entraînement en maths : http://mr.hainaux.net/
Hors ligne
#2 Le 26/08/2009, à 14:19
- nico_h
Re : [actuellement sans solution] [e17] module mail (question)
Alors on a regardé le code avec un ami.
Ici : http://trac.enlightenment.org/e/browser … A/mail/src
Nous trouvons ceci :
Dans e_mod_main.c :
649 void
650 _mail_set_text (void *data)
651 {
652 Instance *inst = data;
653 Eina_List *l;
654 char buf[1024];
655 int count = 0;
656
657 if (!inst)
658 return;
659
660 for (l = inst->ci->boxes; l; l = l->next)
661 {
662 Config_Box *cb;
663
664 cb = l->data;
665 if (!cb)
666 continue;
667 count += cb->num_new;
668 }
669
670 if (count > 0)
671 {
...
Apparemment dans ce bout de code, toutes les boîtes paramétrées sont interrogées et une variable (count) est incrémentée de sorte à contenir la somme des num_new de chaque boîte. num_new semble donc désigner le nombre de nouveaux messages, comme ça le module mail affiche le nombre total de nouveaux messages dans toutes les boîtes (enfin on dirait que c'est prévu comme ça).
Dans pop.c :
static void
215 _mail_cb_mouse_down (void *data, Evas * e, Evas_Object * obj,
216 void *event_info)
217 {
...
254 snprintf (buf, sizeof (buf), "%s: %d/%d", cb->name, cb->num_new,
255 cb->num_total);
...
où à la ligne 254 - 255, il nous semble reconnaître ce qui est affiché dans le petit pop up du module, pour une boîte : nom de la boîte, puis deux nombres, le premier semblant toujours désigner le nombre de messages nouveaux et le second le nombre de messages total.
Ce num_new apparaît aussi là (récupération des données du serveur pop) :
Dans pop.c :
156 static int
157 _mail_pop_server_data (void *data, int type, void *event)
158 {
...
203 case POP_STATE_STATUS_OK:
204 if (sscanf (in, "+OK %i %i", &num, &total) == 2)
205 {
206 pc->config->num_new = num;
207 pc->config->num_total = num;
208 }
Bon c'est bizarre que les deux champs (num_new et num_total) soient remplis avec la même valeur !!
Par ailleurs, quand on regarde les specs de pop3 (version traduite en français : http://abcdrfc.free.fr/rfc-vf/rfc1939.html), on voit que la réponse renvoyée contient effectivement deux nombres, le premier étant le nombre de messages total de la boîte, le deuxième étant la taille de la boîte en octets (ou un truc comme ça). Bref, impossible de récupérer le nombre de *nouveaux* messages par le biais de pop3.
Du coup je n'y comprends rien :
- d'un côté je me rappelle avoir utilisé le module mail et qu'il affichait bien le nombre de nouveaux messages (s'il y en avait) et en utilisant pop3. De plus le nom du champ dans le code laisse penser que c'est ça qui est compté. Et je vois pas bien l'intérêt d'un module mail qui se contente de donner le nombre total de messages de plusieurs boîtes...
- d'un autre, je ne vois pas comment c'est possible à l'aide de pop3.
Je précise que passer par imap serait peut-être une façon de contourner le problème mais avec cette boîte-là (chez gmx) il faut payer et j'ai pas trop envie juste pour ça !!!
Je pense que je vais poser la question aux développeurs qui se sont occupés du module mail, ils auront peut-être des infos intéressantes à fournir sur le sujet.
Bonne journée à tout le monde et merci d'avance pour toute piste intéressante !!
Nico
PS je reprécise que je ne cherche pas un programme "équivalent" (genre une extension pour thunderbird), inutile de parler d'autre chose que du module mail pour e17 ! merci !
Config. actuelle : linux mint 22.04 | FreeBSD 12
Des exercices d'entraînement en maths : http://mr.hainaux.net/
Hors ligne
#3 Le 12/12/2009, à 22:49
- nico_h
Re : [actuellement sans solution] [e17] module mail (question)
Pour info, j'ai eu une réponse du développeur du module qui indique que quelqu'un est passé par là et a modifié le code et qu'il y a effectivement un bug quelque part et que ça ne marche plus, voilà. Si quelqu'un est motivé et a le temps de corriger ça, faut pas se gêner
Dernière modification par nico_h (Le 12/12/2009, à 22:49)
Config. actuelle : linux mint 22.04 | FreeBSD 12
Des exercices d'entraînement en maths : http://mr.hainaux.net/
Hors ligne