Forums : Extensions

Aller à la discussion :  Plus récente Plus ancienne

# Thunderbird : est-il possible de préparer un envoi de mail avec en PJ un email au format EML ?

Envoyé par : sieurcoug

Date : 03/11/2009 13:52

Bonjour,

Je débute en programmation d'extension. J'ai "l'enveloppe" qui marche très bien, réalisée grâce à cet assistant : http://ted.mielczarek.org/code/mozilla/e(..), avec toute l'arborescence qui fonctionne. Maintenant reste à y mettre le code Javascript ;)

Voilà ce que je veux obtenir (c'est un peu à la manière des indésirables) :

1. je me positionne sur un email dans le panneau d'affichage des messages
2. et je clique sur le bouton de mon extension.

Là, l'extension enregistre cet email au format EML et le mets en pièce jointe d'un email, pré-rempli le destinataire et le sujet. Je n'ai plus contrôler et cliquer sur "Envoyer".

Le but est d'automatiser un envoi/transfert de mails avec les emails originaux au format EML, afin de ne pas reformer/déformer les entêtes du message original.

Ma question : Une extension Thunderbird peut elle réaliser cela ?

Merci beaucoup pour vos avis et idées !

# Re: Thunderbird : est-il possible de préparer un envoi de mail avec en PJ un email au format EML ?

Envoyé par : sieurcoug

Date : 03/11/2009 15:45

J'avance : j'ai trouvé les 2 fonctions mais je ne sais pas comment les combiner :

  • Soit ajouter oncommand="MsgForwardAsAttachment(event);" pour transférer les message en PJ (et non intégré), mais ceci ne pré-rempli pas la fenêtre de composition du message.

Je me suis inspiré de cet addon très pratique, nommé Forward https://addons.mozilla.org/en-US/thunder(..)

  • Créer une fenêtre de composition avec
var sURL="mailto:user@domain.com?subject=<add%20your%20own%20subject%20line>";
[...]
msgComposeService.OpenComposeWindowWithURI (null, aURI);

# Re: Thunderbird : est-il possible de préparer un envoi de mail avec en PJ un email au format EML ?

Envoyé par : sieurcoug

Date : 04/11/2009 15:44

Ca y est, j'ai réussi ! Voici le code Javascript :

var currentFolder;
var MessageURI = GetFirstSelectedMessage();
var msgHdr = messenger.messageServiceFromURI(MessageURI).messageURIToMsgHdr(MessageURI);
var fields = Components.classes["@mozilla.org/messengercompose/composefields;1"].createInstance(Components.interfaces.nsIMsgCompFields);
var params = Components.classes["@mozilla.org/messengercompose/composeparams;1"].createInstance(Components.interfaces.nsIMsgComposeParams);
var attachment = Components.classes["@mozilla.org/messengercompose/attachment;1"].createInstance(Components.interfaces.nsIMsgAttachment);
var bodyPlainText = ""; // mettre içi un texte de corps de message si besoin
var attachmentURI = "";
currentFolder = msgHdr.folder;	
attachmentURI = currentFolder.getUriForMsg(msgHdr);	
attachment.url = attachmentURI;
attachment.name = msgHdr.subject + ".eml";
fields.addAttachment(attachment);
// why this?  just uses the URI of the last message added... seems kind of random
params.originalMsgURI = attachmentURI;
fields.to = "votre@email.com";
fields.subject = "Votre objet";
fields.body = bodyPlainText;
params.type = Components.interfaces.nsIMsgCompType.New; // ForwardAsAttachment or New
params.format = Components.interfaces.nsIMsgCompFormat.PlainText;

params.identity = accountManager.getFirstIdentityForServer(GetLoadedMsgFolder().server);
params.composeFields = fields;
msgComposeService.OpenComposeWindowWithParams(null, params);

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.