Page 1 sur 1

Prob envoi email

Publié : 03 août 2009, 21:53
par aqpsouest
[modération :J2m06:
1)Tout d'abord Bonjour :!:
2)lorsque le messages est très très long il vaut mieux le mettre entre [ Quote] [ /Quote] ([ code]ou entre [ /code]) :wink: ]



Je ne peux plus envoyer d'email, car un message d'erreur m'indique qu'un script est peut etre en cours, et me propose ce l'arrêter ou continuer.
J'ai tout essayer mais rien n'y fait.
Voici les messages de la console d'erreurs:
  • Erreur : uncaught exception: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIController.doCommand]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: chrome://global/content/globalOverlay.js :: anonymous :: line 156" data: no]


  • var dictionarySwitcher = {
    dictMenu: {},
    init: function () {
    var Cc = Components.classes
    Cc["@mozilla.org/spellchecker/" + ("@mozilla.org/spellchecker/myspell;1" in Cc ? "my" : "hun") + "spell;1"]
    .createInstance(mozISpellCheckingEngine)
    .getDictionaryList(this.list = {}, {});
    this.list = this.list.value.toString().split(",");
    if (this.list.length <= 1)
    return;

    this.panel = document.getElementById("dictionary-switcher");

    var menu = document.getElementById("dictionary-switcher-menu");
    var menuitem = document.createElement("menuitem");
    menuitem.setAttribute("type", "radio");
    menuitem.setAttribute("name", "dictionary-switcher-dicts");
    menuitem.setAttribute("oncommand", "dictionarySwitcher.toggle(this.label)");
    for (var i = 0; i < this.list.length; i++) {
    menuitem = menuitem.cloneNode(true);
    menuitem.setAttribute("label", this.list);
    this.dictMenu[this.list] = menuitem;
    menu.appendChild (menuitem);
    }

    sPrefBranchInternal.addObserver("spellchecker.dictionary", this, false);
    sPrefBranchInternal.addObserver("extensions.dictionary-switcher.autodetect", this, false);
    // XXX 1.8
    var self = this;
    this._eventListener = function (event) { self.handleEvent(event); };
    GetCurrentEditorElement().addEventListener("load", this._eventListener, true);
    GetMsgSubjectElement().addEventListener("input", this._eventListener, false);

    this.autodetect = sPrefs.getBoolPref("extensions.dictionary-switcher.autodetect");
    this.dict = sPrefs.getCharPref("spellchecker.dictionary");
    this.updateUI(false);
    },
    uninit: function () {
    sPrefBranchInternal.removeObserver("spellchecker.dictionary", this);
    gMsgCompose.editor.removeEditActionListener(this);
    GetCurrentEditorElement().removeEventListener("load", this._eventListener, true);
    GetMsgSubjectElement().removeEventListener("input", this._eventListener, false);
    },
    _scCompose: null,
    get scCompose() {
    if (!this._scCompose)
    this._scCompose = gMsgCompose.editor.getInlineSpellChecker ?
    gMsgCompose.editor.getInlineSpellChecker(true) :
    gMsgCompose.editor.inlineSpellChecker;
    return this._scCompose;
    },
    _scSubject: null,
    get scSubject() {
    if (!this._scSubject)
    var editor = GetMsgSubjectElement().inputField
    .QueryInterface(Components.interfaces.nsIDOMNSEditableElement)
    .editor;
    this._scSubject = editor.getInlineSpellChecker ?
    editor.getInlineSpellChecker(true) :
    editor.inlineSpellChecker;
    return this._scSubject;
    },
    updateUI: function (recheck) {
    this.panel.label = this.dict;
    if (this.dictMenu._last)
    this.dictMenu._last.removeAttribute("checked");
    if (this.dictMenu._last = this.dictMenu[ this.dict ])
    this.dictMenu._last.setAttribute("checked", true);
    if (recheck) {
    this.scCompose.spellChecker.SetCurrentDictionary(this.dict);
    this.scCompose.spellCheckRange(null);
    this.scSubject.spellCheckRange(null);
    }
    },
    toggle: function (dict) {
    this.dict = dict || this.getNextInList(this.dict);
    this.updateUI(true);
    sPrefs.setCharPref("spellchecker.dictionary", this.dict);
    },
    getNextInList: function (dict) {
    var i = this.list.indexOf(dict) + 1;
    if (i >= this.list.length)
    i = 0;
    return this.list;
    },
    detectDictionary: function (inlineSpellChecker, text) {
    text = text.split(/\W+/);
    var l = text.length;
    var maxMisspelled = Math.round(l / 4);
    var sc = inlineSpellChecker.spellChecker;
    var dict = this.dict;
    var misspelled, oldMisspelled, newDict;
    do {
    misspelled = 0;
    if (dict != this.dict)
    sc.SetCurrentDictionary(dict);
    for (var i = 0; i < l; i++)
    if (sc.CheckCurrentWord(text))
    misspelled++;
    if (!newDict || misspelled < oldMisspelled)
    newDict = dict;
    oldMisspelled = misspelled;
    dict = this.getNextInList(dict);
    } while (misspelled > maxMisspelled && dict != this.dict);
    if (newDict && newDict != this.dict)
    this.toggle(newDict);
    else
    sc.SetCurrentDictionary(this.dict);
    },

    /* nsIObserver */
    observe: function (subject, topic, data) {
    if (topic == "nsPref:changed") {
    switch(data) {
    case "spellchecker.dictionary":
    var dict = sPrefs.getCharPref("spellchecker.dictionary");
    if (dict != this.dict) {
    this.dict = dict;
    this.updateUI(false);
    }
    break;
    case "extensions.dictionary-switcher.autodetect":
    this.autodetect = sPrefs.getBoolPref("extensions.dictionary-switcher.autodetect");
    break;
    }
    }
    },

    /* nsIDOMEventListener */
    handleEvent: function (event) {
    switch (event.type) {
    case "input":
    if (this.autodetect) {
    var text = event.target.value;
    var l = text.length;
    if (l == 10 || l == 20)
    this.detectDictionary(this.scSubject, text);
    }
    break;
    case "load":
    gMsgCompose.editor.addEditActionListener(this);
    break;
    }
    },

    /* nsIEditActionListener */
    DidCreateNode: function(){},
    DidDeleteNode: function(){},
    DidDeleteSelection: function(){},
    DidDeleteText: function(){},
    DidInsertNode: function(){},
    DidInsertText: function(){},
    DidJoinNodes: function(){},
    DidSplitNode: function(){},
    WillCreateNode: function(){},
    WillDeleteNode: function(){},
    WillDeleteSelection: function(){},
    WillDeleteText: function(){},
    WillInsertNode: function(){},
    WillInsertText: function (textNode, offset, string) {
    if (this.autodetect) {
    var l = textNode.length;
    if (l == 15 || l == 30)
    this.detectDictionary(this.scCompose, textNode.textContent);
    }
    },
    WillJoinNodes: function(){},
    WillSplitNode: function(){}
    };

    window.addEventListener("load", function () {
    dictionarySwitcher.init();
    }, false);

    window.addEventListener("unload", function () {
    dictionarySwitcher.uninit();
    }, false);


  • window.addEventListener("load", OnLoad, false);

    var gFolderListener =
    {
    OnItemAdded: function(parentItem, item, view) {
    var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
    var newMail;
    if (prefs.getPrefType("extensions.contextmail.new") == prefs.PREF_BOOL){
    newMail = prefs.getBoolPref("extensions.contextmail.new");
    }

    if(newMail) {
    item instanceof Components.interfaces.nsIMsgDBHdr;
    if(!item.isRead)
    makeDir(item);
    }
    },
    }

    function OnLoad() {
    // now register myself as a listener on every mail folder
    var mailSession = Components.classes["@mozilla.org/messenger/services/session;1"].getService(Components.interfaces.nsIMsgMailSession);
    mailSession.AddFolderListener(gFolderListener, Components.interfaces.nsIFolderListener.added);
    }

    function makeDir(argv) {
    // Get prefs
    var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
    var liste;
    var current = null;
    if(prefs.getPrefType("extensions.contextmail.listecm2") == prefs.PREF_STRING){
    liste = prefs.getCharPref("extensions.contextmail.listecm2");
    }
    if(liste == "") {
    return;
    }

    var tabListe = liste.split("\n");
    for(var i = 0; i < tabListe.length; i++) {
    tabListe = tabListe.split(" ");
    }
    if(prefs.getPrefType("extensions.contextmail.garder") == prefs.PREF_BOOL){
    keepEntireName = prefs.getBoolPref("extensions.contextmail.garder");
    }


    // Get vars from options
    var grammaire = new Array();
    var keepSign = new Array();
    var dirs = new Array();
    for(var i = 0; i < tabListe.length; i++) {
    if(tabListe.length == 2) dirs == null;
    else if(tabListe.length == 3) {
    if(tabListe[2] != "" && tabListe[i][2] != " ") {
    dirs[i] = GetMsgFolderFromUri(tabListe[i][2], null);
    }
    }
    else { alert('Bad options, thanks to check them.'); return; }

    if(tabListe[i][1].length == 1 || tabListe[i][1].length == 2) {
    if(tabListe[i][0] == "false") {
    keepSign[i] = false;
    }
    else if(tabListe[i][0] == "true") {
    keepSign[i] = true;
    }
    else { alert('Bad options, thanks to check them.'); return; }

    grammaire[i] = tabListe[i][1];
    }
    else { alert('Bad options, thanks to check them.'); return; }
    }

    // Get messages
    var uri;
    if(argv == null) {
    uri = GetSelectedMessages();
    if(uri == null) {
    return;
    }
    }
    else {
    uri = new Array();
    uri[0] = argv;
    }
    for(var n = 0; n < uri.length; n++) {
    var wordGrammaire = -1;
    var words = new Array();
    var sujet;
    if(argv == null) {
    sujet = messenger.messageServiceFromURI(uri[n]).messageURIToMsgHdr(uri[n]).mime2DecodedSubject;
    }
    else {
    sujet = uri[n].mime2DecodedSubject;
    }

    // ****************************Traiter le sujet du mail
    //
    var entre = -1;
    var debutEntre = -1;
    for(var i = 0; i < sujet.length; i++) {
    if(entre == -1) {
    for(var j = 0; j < grammaire.length; j++) {
    if(grammaire[j] == sujet[i] && grammaire[j].length == 1) {
    if(keepSign[j] == true) {
    words[words.length] = sujet.substring(0, i + 1);
    if(wordGrammaire == -1)
    wordGrammaire = j;
    }
    else {
    if(i > 0) {
    words[words.length] = sujet.substring(0, i - 1);
    if(wordGrammaire == -1)
    wordGrammaire = j;
    }
    }
    sujet = sujet.substring(i + 1);
    i = 0;
    if(sujet[0] == ' ') {
    sujet = sujet.substring(1);
    }
    }
    else if(grammaire[j][0] == sujet[i] && grammaire[j].length == 2) {
    entre = j;
    debutEntre = i;
    }
    }
    }
    else {
    if(grammaire[entre][1] == sujet[i]) {
    if(keepSign[entre] == true) {
    words[words.length] = sujet.substring(debutEntre, i + 1);
    }
    else {
    words[words.length] = sujet.substring(debutEntre + 1, i);
    }
    if(wordGrammaire == -1)
    wordGrammaire = entre;
    sujet = sujet.substring(i + 1);
    entre = -1;
    i = 0;
    if(sujet[0] == ' ') {
    sujet = sujet.substring(1);
    }
    }
    }
    }
    // **************************** Rechercher les dossiers
    //
    var founded = new Array();
    var root;

    for(var i = 0; i < words.length; i++) {
    founded[i] = false;
    }
    var count = 0;
    if(dirs[wordGrammaire] == null) {
    root = GetMsgFolderFromUri(GetSelectedFolderURI(), null).rootFolder;
    }
    else {
    root = dirs[wordGrammaire];
    }
    var allFolders = Components.classes["@mozilla.org/supports-array;1"].createInstance(Components.interfaces.nsISupportsArray);
    root.ListDescendents (allFolders);
    var cntFolders = allFolders.Count();
    for (var j = 0; j < cntFolders; j++) {
    var folder = allFolders.GetElementAt(j).QueryInterface (Components.interfaces.nsIMsgFolder);
    if(folder.prettyName == words[count]) {
    if(count > 0) {
    if(folder.parentMsgFolder.name == words[count - 1]) {
    founded[count] = true;
    count++;
    }
    }
    else {
    founded[count] = true;
    count++;
    }
    }
    }

    // **************************** créer les dossiers

    var f = null;
    countL = words.length;
    if(words.length > 0) {
    for(var l = 0; l < countL; l++) {
    if(f == null) {
    if(!founded[l]) {
    NewFolder(words[l], root.URI);
    f = root.FindSubFolder(words[l]);
    }
    else
    f = root.FindSubFolder(words[l]);
    }
    else {
    if(!founded[l]) {
    NewFolder(words[l], f.URI);
    f = f.FindSubFolder(words[l]);
    }
    else
    f = f.FindSubFolder(words[l]);
    }
    }
    var messageToCopy = Components.classes["@mozilla.org/supports-array;1"].createInstance(Components.interfaces.nsISupportsArray);
    var messHdr;
    if(argv == null) {
    messHdr = messenger.messageServiceFromURI(uri[n]).messageURIToMsgHdr(uri[n]);
    }
    else {
    messHdr = uri[n];
    }
    if(!keepEntireName)
    messHdr.subject = sujet;
    messageToCopy.AppendElement(messHdr);
    f.copyMessages(GetMsgFolderFromUri(GetSelectedFolderURI(), null), messageToCopy, true, msgWindow, null, false, false);
    }
    }
    }


Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 6.0; fr; rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1 (.NET CLR 3.5.30729)

Publié : 04 août 2009, 15:04
par Jean-Claude
Bonjour,

Le problème semble venir de ton extension "dictionary switcher". Elle ne semble pas être compatible.
Désactives-le ou vérifies qu'il n'y a pas de mise à jour disponible.

A+

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 6.0; fr; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 (.NET CLR 3.5.30729)