Modification de l'extension GetAll de Thunderbird

Vous vous penchez sur le développement d'applications ou d'extensions pour Mozilla ? C'est alors vers ce forum que se dirigeront naturellement vos requêtes...
Répondre
Gillou
Lézard vert
Messages : 128
Inscription : 08 mai 2004, 13:12

Modification de l'extension GetAll de Thunderbird

Message par Gillou »

Bonjour bonjour,

Comme je l'ai dit sur le forum de TB il y a quelques jours, j'ai un petit souci avec l'extension GetAll de Thunderbird.
Cette extension permet en un clic de :
- relever le courrier de tous les comptes mail
- envoyer les messages en attente

Quand on regarde le code de l'extension, la définition du bouton comporte la ligne :

oncommand="GetMessagesForAllAuthenticatedAccounts();SendUnsentMessages();"/>

je débute complètement dans le domaine (c'est même la 1ère fois que j'ouvre une extension), mais je suppose que codé comme ça, il n'y a pas de notion de chronologie dans les actions : TB lance la réception de tous les comptes ET l'envoi des messages en même temps.

Ce comportement me gêne car mon serveur smtp refuse toute connexion si l'on ne s'est pas authentifié en pop auparavant. Autrement dit et suivant la vitesse de réponse des deux serveurs (pop et smtp) quand je fais "Get All Mail", parfois je suis authentifié POP et alors la connexion SMTP passe, mais parfois le serveur SMTP répond avant le POP, et alors je ne suis pas identifié POP et la connexion SMTP ne passe pas... J'espère avoir été clair dans l'explication de mon problème.

Logiquement, je cherche donc à modifier GetAll pour introduire une chronologie : d'abord l'identification POP et ensuite l'envoi SMTP. Pour l'instant je voudrais juste faire un truc tout bête du genre

Code : Tout sélectionner

action 1
THEN
action 2
Comment puis-je faire ? (après j'ai d'autres idées pour rendre le truc un peu plus efficace... mais au début je veux juste faire basiquement une chronologie toute simple)

Question subsidiaire : ai-je le droit de modifier comme ça une extension ?

Merci d'avance pour votre aide
Gillou
chBok
Iguane
Messages : 991
Inscription : 17 oct. 2003, 19:17

Message par chBok »

Tu peux mettre un sleep(durée); entre les deux fonctions appelées. La durée est calculées en millisecondes...

Pas terrible, mais bon.

Ensuite, tu peux modifier l'extension, mais il est toujours de bon ton d'en avertir l'auteur qui peux ensuite intégrer l'idée dans le développement de l'extension.
Invité

Re: Modification de l'extension GetAll de Thunderbird

Message par Invité »

Gillou a écrit :

Code : Tout sélectionner

action 1
THEN
action 2
Comment puis-je faire ?
Tu peux tenter de réécrire la première fonction et faire un appel a la seconde à la fin
http://lxr.mozilla.org/seamonkey/source ... ay.js#1935
Gillou a écrit :Question subsidiaire : ai-je le droit de modifier comme ça une extension ?
Elle est sous tri licence MPL 1.1/GPL 2.0/LGPL 2.1 donc tu peux si tu respectes les termes d'une des licences
jv2759
Tyrannosaurus Rex
Messages : 4161
Inscription : 12 févr. 2004, 14:29

Message par jv2759 »

Sans modifier l'exention, tu est sur que tu ne peux pas ajouter une identification à ton smtp. Car souvant il offre les deux possibiliter, c'est a dire identification pop et identification smtp avec les même param que le pop...
Inscrit sur la liste des abonner absent...
Gillou
Lézard vert
Messages : 128
Inscription : 08 mai 2004, 13:12

Re: Modification de l'extension GetAll de Thunderbird

Message par Gillou »

Tu peux tenter de réécrire la première fonction et faire un appel a la seconde à la fin
Vi je pense que c'est le mieux, merci. Je vais essayer ça dès que j'aurai un peu de temps, je demanderai peut-être de l'aide sur le forum si ça marche pas... :oops:

Merci
Gillou
Lézard vert
Messages : 128
Inscription : 08 mai 2004, 13:12

Message par Gillou »

jv2759 a écrit :Sans modifier l'exention, tu est sur que tu ne peux pas ajouter une identification à ton smtp. Car souvant il offre les deux possibiliter, c'est a dire identification pop et identification smtp avec les même param que le pop...
En fait les identifications POP et SMTP se font avec exactement les mêmes login et mot de passe, tout ce qu'il faut c'est se connecter en POP avant de le faire en SMTP, dixit l'administrateur... :evil:
Gillou
Lézard vert
Messages : 128
Inscription : 08 mai 2004, 13:12

Message par Gillou »

chBok a écrit :Tu peux mettre un sleep(durée); entre les deux fonctions appelées. La durée est calculées en millisecondes...
bah j'ai essayé mais ça ne marche pas... t'es sûr de toi ?
J'ai fait

Code : Tout sélectionner

oncommand="GetMessagesForAllAuthenticatedAccounts();sleep(5000);SendUnsentMessages();"/>
pour attendre 5 secondes entre GetMessages et Send, mais en pratique TB relève bien le courrier mais il ne passe jamais à l'étape suivant d'envoi... la durée est-elle bien en ms ???
nmoreau
Salamandre
Messages : 33
Inscription : 27 août 2003, 20:09

Message par nmoreau »

Gillou a écrit :
chBok a écrit :Tu peux mettre un sleep(durée); entre les deux fonctions appelées. La durée est calculées en millisecondes...
bah j'ai essayé mais ça ne marche pas... t'es sûr de toi ?
J'ai fait

Code : Tout sélectionner

oncommand="GetMessagesForAllAuthenticatedAccounts();sleep(5000);SendUnsentMessages();"/>
pour attendre 5 secondes entre GetMessages et Send, mais en pratique TB relève bien le courrier mais il ne passe jamais à l'étape suivant d'envoi... la durée est-elle bien en ms ???
sleep n'existe pas

essaie

Code : Tout sélectionner

setTimeout("SendUnsentMessages();",5000);
--
Nicolas Moreau
Gillou
Lézard vert
Messages : 128
Inscription : 08 mai 2004, 13:12

Message par Gillou »

nmoreau a écrit : essaie

Code : Tout sélectionner

setTimeout("SendUnsentMessages();",5000);
Oups... j'ai essayé et au démarrage suivant l'installation de la nouvelle extension TB m'affiche en rouge la ligne

Code : Tout sélectionner

oncommand="GetMessagesForAllAuthenticatedAccounts();setTimeout("SendUnsentMessages();",5000);"/>


dans une partie grisée en bas de la fenêtre des messages (j'ai fait une copie d'écran mais je sais pas comment l'insérer)
Manifestement il n'aime pas ma manip... je me suis gouré quelque part ?
bobo
Iguane
Messages : 764
Inscription : 18 août 2003, 11:04

Message par bobo »

Gillou a écrit :
nmoreau a écrit : essaie

Code : Tout sélectionner

setTimeout("SendUnsentMessages();",5000);
Oups... j'ai essayé et au démarrage suivant l'installation de la nouvelle extension TB m'affiche en rouge la ligne

Code : Tout sélectionner

oncommand="GetMessagesForAllAuthenticatedAccounts();setTimeout("SendUnsentMessages();",5000);"/>


dans une partie grisée en bas de la fenêtre des messages (j'ai fait une copie d'écran mais je sais pas comment l'insérer)
Manifestement il n'aime pas ma manip... je me suis gouré quelque part ?
Surement un problème de guillement. Essaie avec

Code : Tout sélectionner

setTimeout('SendUnsentMessages();',5000);
Les standards c'est bon, mangez en !
Flore & Sébastien
Unité dans la diversité.
Gillou
Lézard vert
Messages : 128
Inscription : 08 mai 2004, 13:12

Message par Gillou »

bobo a écrit :Surement un problème de guillement
exactement, maintenant ça marche, merci ! :D
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité