Bonjour à tous,
J'allais à la base poster ce sujet dans le forum "Thunderbird" dans la mesure où je n'ai pas trouvé de forum "XUL", mais j'ai reçu comme consigne de poster dans javascript, donc je m'exécute!

Voilà mon souci: je voudrais créer un courriel à partir d'un assistant. J'arrive à créer un assistant, j'arrive à créer le mail à l'issue de l'assistant, mais je n'arrive pas à éditer le mail avant que la fenêtre ne s'ouvre. J'ai cherché durant des jours, et ce qui se rapproche le plus, c'est ça: https://developer.mozilla.org/en/Ext...se_New_Message

Je pense que la clé est là, mais je ne comprends pas comment utiliser ce code... J'ai mis ça:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
window.addEventListener( "compose-window-init", prep_mail(), true );
Avec la fonction définie comme ceci ('prep_mail' s'affiche bien, au lancement du wizard, mais pas 'prep_mail2'...):

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
function prep_mail() {
    alert('prep_mail');
    gMsgCompose.RegisterStateListener(myStateListener);
    alert('prep_mail2');
}
Voilà la fonction qui est déclenchée dès que le wizard est terminé (ça ouvre bien un nouveau mail):

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
function envoi_mail(id) {
    var sURL="mailto:test@test.com?subject=test";  
 
      var msgComposeService=  
        Components.classes["@mozilla.org/messengercompose;1"]  
        .getService(Components.interfaces.nsIMsgComposeService);  
 
      // make the URI  
      var ioService =  
        Components.classes["@mozilla.org/network/io-service;1"]  
          .getService(Components.interfaces.nsIIOService);  
 
      aURI = ioService.newURI(sURL, null, null);  
 
      // open new message  
      nouveau_mail = msgComposeService.OpenComposeWindowWithURI (null, aURI); 
 
 
    return true;
}

Voilà, si quelqu'un peut m'éclairer, ce serait sympathique...
Bonne soirée!


Mots clés: wizard, plug-in, thunderbird