Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 smile

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