1. Startseite
  2. Nachrichten
  3. Herunterladen
    1. Thunderbird Release-Version
    2. Thunderbird 128 ESR
    3. Thunderbird 115 ESR
    4. Thunderbird Beta-Version
    5. Sprachpaket (Benutzeroberfläche)
    6. Wörterbücher (Rechtschreibprüfung)
  4. Hilfe & Lexikon
    1. Anleitungen zu Thunderbird
    2. Fragen & Antworten (FAQ) zu Thunderbird
    3. Hilfe zu dieser Webseite
  5. Forum
    1. Unerledigte Themen
    2. Letzte Beiträge
    3. Themen der letzten 24 Stunden
  • Anmelden
  • Registrieren
  • 
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Forum
  • Lexikon
  • Artikel
  • Seiten
  • Erweiterte Suche
  1. Thunderbird Mail DE
  2. Forum
  3. Hilfe und Fehlermeldungen zu "Thunders" Add-ons
  4. Quote Colors & Collapse

QuoteColors Updates für 68 und 78

  • Thunder
  • 26. August 2020 um 22:36
  • Geschlossen
  • Unerledigt
  • Thunder
    Administrator
    Reaktionen
    779
    Artikel
    281
    Beiträge
    7.280
    Einträge
    169
    Mitglied seit
    8. Jul. 2003
    Hilfreiche Antworten
    58
    • 26. August 2020 um 22:36
    • #1

    jobisoft

    Ich habe QuoteColors für Thunderbird 68 komplett korrekt zum Laufen gebracht - jedenfalls fallen mir erstmal keine Fehler mehr auf. Im Gegensatz zu "meinem Vorgänger" auf ATN funktionieren jetzt auch die Optionen wieder korrekt. Ich werde mich bei beiden Autoren (altes "QuoteColor" und "New QuoteColor" melden, um das wieder unter einen Hut zu bekommen.

    Für Thunderbird 78 habe ich mir nun ein Herz gefasst und habe Deine Wrapper API eingebaut. Die Optionen funktionieren schon komplett. Ich scheitere aber noch am JS Injection, um die alten Overlays nun zum Laufen zu bekommen. Die drei alten Overlays enthalten quasi Keinen XUL-Code, sondern jeweils nur eingebundene weitere JS Dateien und jeweils einen CDATA-Block mit in bisschen Iinline JavaScript.

    Hier ein Beispiel eines alten Overlays:

    XML
    <?xml version="1.0"?>
    
    <!--
    // Quote Colors extension, overlay for messenger.xul
    -->
    
    <!DOCTYPE overlay SYSTEM "chrome://quotecolors/locale/qc_options.dtd">
    <overlay id="quotecolors" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
    
      <script type="application/x-javascript" src="chrome://quotecolors/content/qc_globals.js"/>
      <script type="application/x-javascript" src="chrome://quotecolors/content/qc_overlay.js"/>
      <script type="application/x-javascript" src="chrome://quotecolors/content/quotecolors.js"/>
      <script type="application/x-javascript">
    <![CDATA[
        // observe mail pane config changes
        QCMailPaneConfigObserver.register();
        // observe QC pref changes to reload message
        QCPrefUpdateObserver.register();
        
        window.addEventListener("load", QCObj.initMain, false);
        window.addEventListener("unload", QCunloadMessenger, false);
    ]]>
      </script>
    
    </overlay>
    Alles anzeigen

    Daraus habe ich folgende neue JS-Datei gemacht:

    JavaScript: qc_messengeroverlay.js
    // Import any needed modules.
    var { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
    
    // Load an additional JavaScript file.
    Services.scriptloader.loadSubScript("chrome://quotecolors/content/qc_globals.js", window, "UTF-8");
    Services.scriptloader.loadSubScript("chrome://quotecolors/content/qc_overlay.js", window, "UTF-8");
    Services.scriptloader.loadSubScript("chrome://quotecolors/content/quotecolors.js", window, "UTF-8");
    
    function onLoad(activatedWhileWindowOpen) {
    
      // observe mail pane config changes
      QCMailPaneConfigObserver.register();
      // observe QC pref changes to reload message
      QCPrefUpdateObserver.register();
      
      window.addEventListener("load", QCObj.initMain, false);
      window.addEventListener("unload", QCunloadMessenger, false);
    
    }
    
    function onUnload(deactivatedWhileWindowOpen) {
    }
    Alles anzeigen

    Meine background.js sieht so aus:

    JavaScript: background.js
    messenger.WindowListener.registerDefaultPrefs("defaults/preferences/quotecolors.js");
    
    messenger.WindowListener.registerChromeUrl([ 
      ["content", "quotecolors",           "chrome/content/"],
      ["locale",  "quotecolors", "en-US",  "chrome/locale/en-US/"],
      ["locale",  "quotecolors", "de-DE",  "chrome/locale/de-DE/"],
      ["locale",  "quotecolors", "es-ES",  "chrome/locale/es-ES/"],
      ["locale",  "quotecolors", "fr-FR",  "chrome/locale/fr-FR/"],
      ["locale",  "quotecolors", "it-IT",  "chrome/locale/it-IT/"],
      ["locale",  "quotecolors", "ja-JP",  "chrome/locale/ja-JP/"],
      ["locale",  "quotecolors", "pl-PL",  "chrome/locale/pl-PL/"],
      ["locale",  "quotecolors", "cs-CZ",  "chrome/locale/cs-CZ/"],
      ["locale",  "quotecolors", "hu-HU",  "chrome/locale/hu-HU/"],
      ["locale",  "quotecolors", "ru-RU",  "chrome/locale/ru-RU/"],
      ["locale",  "quotecolors", "da-DK",  "chrome/locale/da-DK/"]
    ]);
    
    messenger.WindowListener.registerOptionsPage("chrome://quotecolors/content/options/qc_options.xhtml");
    
    messenger.WindowListener.registerWindow(
      "chrome://messenger/content/messenger.xul", 
      "chrome://quotecolors/content/qc_messengeroverlay.js");
    
    messenger.WindowListener.registerWindow(
      "chrome://messenger/content/messageWindow.xul", 
      "chrome://quotecolors/content/qc_msgwindowoverlay.js");
    
    messenger.WindowListener.registerWindow(
      "chrome://messenger/content/msgPrintEngine.xul", 
      "chrome://quotecolors/content/qc_printpreviewoverlay.js");
    
    // messenger.WindowListener.registerShutdownScript("chrome://quotecolors/content/shutdown.js")
    
    messenger.WindowListener.startListening();
    Alles anzeigen

    Das erneuerte Overlay (wie auch immer ich das jetzt bezeichnen soll, wenn es jetzt diese neue JS-Datei ist) bleibt letztlich wirkungslos. Fehlermeldungen in der Konsole gibt es keine.

    Gruß
    Thunder ( Mein persönlicher Wunschzettel )

    Keine Hilfe per Konversation! - Danke für Euer Engagement und Eure Geduld!

  • jobisoft
    Senior-Mitglied
    Reaktionen
    228
    Beiträge
    893
    Mitglied seit
    18. Aug. 2016
    Hilfreiche Antworten
    9
    • 26. August 2020 um 22:51
    • #2
    JavaScript
    // Import any needed modules.
    var { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
    
    
    // Load an additional JavaScript file.
    Services.scriptloader.loadSubScript("chrome://quotecolors/content/qc_globals.js", window, "UTF-8");
    Services.scriptloader.loadSubScript("chrome://quotecolors/content/qc_overlay.js", window, "UTF-8");
    Services.scriptloader.loadSubScript("chrome://quotecolors/content/quotecolors.js", window, "UTF-8");
    
    
    function onLoad(activatedWhileWindowOpen) {
     // observe mail pane config changes
     window.QCMailPaneConfigObserver.register();
     // observe QC pref changes to reload message
     window.QCPrefUpdateObserver.register();
     window.QCObj.initMain();
    }
    
    
    function onUnload(deactivatedWhileWindowOpen) {
     window.QCunloadMessenger()
    }
    Alles anzeigen

    Also onload und onunload event funktionieren nicht, sondern dumusst das jeweils in onLoad() und onUnload() packen. Nicht vergessen window. vor deine Funktionsaufrufe dranzuhängen, weil deine JS files ja in window geladen wurden.

    ich denke so müsste das funktionieren. Geht das?

    Geht das?

    John Bieling / Matrix: TbSync / GitHub: jobisoft
    Thunderbird Add-on Support Engineer / Add-on Coordinator (MZLA)

    https://developer.thunderbird.net/add-ons/community

  • Thunder
    Administrator
    Reaktionen
    779
    Artikel
    281
    Beiträge
    7.280
    Einträge
    169
    Mitglied seit
    8. Jul. 2003
    Hilfreiche Antworten
    58
    • 26. August 2020 um 23:18
    • #3

    Ich schaue es mir gleich mal an.

    Blöd gefragt: muss ich window. dann quer durch die 3 JS Dateien hinzufügen, in denen diese Variablen / Objekte drin sind?

    Gruß
    Thunder ( Mein persönlicher Wunschzettel )

    Keine Hilfe per Konversation! - Danke für Euer Engagement und Eure Geduld!

  • jobisoft
    Senior-Mitglied
    Reaktionen
    228
    Beiträge
    893
    Mitglied seit
    18. Aug. 2016
    Hilfreiche Antworten
    9
    • 26. August 2020 um 23:52
    • #4
    Zitat von Thunder

    Blöd gefragt: muss ich window. dann quer durch die 3 JS Dateien hinzufügen, in denen diese Variablen / Objekte drin sind?

    Ne, dein code läuft im window scope ganz normal wie früher. Der Injector aber nicht (die onLoad und onUnload Funktionen). Der hat also keinen direkten Zugriff auf Objekte in window, daher musst du in den beiden Funktionen window. mit angeben.

    John Bieling / Matrix: TbSync / GitHub: jobisoft
    Thunderbird Add-on Support Engineer / Add-on Coordinator (MZLA)

    https://developer.thunderbird.net/add-ons/community

  • Thunder
    Administrator
    Reaktionen
    779
    Artikel
    281
    Beiträge
    7.280
    Einträge
    169
    Mitglied seit
    8. Jul. 2003
    Hilfreiche Antworten
    58
    • 27. August 2020 um 01:22
    • #5

    Mhhh, dat will noch nicht.

    Ich habe daraus jetzt mal ein GitLab-Projekt gemacht:

    master-Branch ist für den 78er:

    https://gitlab.com/ThunderbirdMailDE/quote-colors

    Im Branch Thunderbird_68 kann man die alten Overlays noch sehen, die so im 68er auch korrekt funktionieren.

    Gruß
    Thunder ( Mein persönlicher Wunschzettel )

    Keine Hilfe per Konversation! - Danke für Euer Engagement und Eure Geduld!

  • Thunder
    Administrator
    Reaktionen
    779
    Artikel
    281
    Beiträge
    7.280
    Einträge
    169
    Mitglied seit
    8. Jul. 2003
    Hilfreiche Antworten
    58
    • 27. August 2020 um 01:30
    • #6

    Der lädt den Kram nicht. Wenn ich in Deine onLoad function ein console.log("xyz"); einfüge, dann kann ich davon in der Fehlerkonsole nichts sehen.

    Gruß
    Thunder ( Mein persönlicher Wunschzettel )

    Keine Hilfe per Konversation! - Danke für Euer Engagement und Eure Geduld!

  • jobisoft
    Senior-Mitglied
    Reaktionen
    228
    Beiträge
    893
    Mitglied seit
    18. Aug. 2016
    Hilfreiche Antworten
    9
    • 27. August 2020 um 08:09
    • #7

    Du hast da einen MixMax gemacht. Dein manifest sagt ab 78, deine background.js registriert aber deine JS files für 68er XUL files.

    Phase 1 und Phase 2 des updates (Wechsel auf WindowListener) werden in 68 gemacht. Erst wenn in 68 alles klappt, dann kommt der Wechsel auf 78 und da musst du alle xul files in xhtml files umbenennen (auch die core files, auf die der WL reagieren soll).

    In Phase 3 musst du dann deinen eigentlichen code evtl noch an Änderungen von 68->78 anpassen. Ich wollte aber nicht das du beide Baustellen gleichzeitig hast (WL setup UND 68->78 changes). Deswegen sagt der guide gaz klar: Erst im letzten Schritt wechseln wir auf 78.

    Wenn ich dein add-on anpasse und in 68 lade, kann ich console.log() Einträge im onload sehen. Ich weiß aber nicht wie das add-on sonst funktioniert und konnte es nicht weiter testen

    in qc_globals.js musst du die top level const los werden, weil die beim neu laden (z.B. Updates, oder remove und neu installieren ohne TB neu zu starten) nicht überschrieben werden können und Fehler werfen und weil du kein try catch um den entsprechenden scriptload hast dein ganzen load script stirbt. Ich würde da ein var QCGlobals = {} empfehlen und die dinger da drin definieren.

    John Bieling / Matrix: TbSync / GitHub: jobisoft
    Thunderbird Add-on Support Engineer / Add-on Coordinator (MZLA)

    https://developer.thunderbird.net/add-ons/community

  • jobisoft
    Senior-Mitglied
    Reaktionen
    228
    Beiträge
    893
    Mitglied seit
    18. Aug. 2016
    Hilfreiche Antworten
    9
    • 27. August 2020 um 08:12
    • #8

    Oder du lädst qc_globals.js nicht in window sondern in window.QCGlobals , welches du vor dem scriptload aufruf mit window.QCGlobals = {} platt machst.

    John Bieling / Matrix: TbSync / GitHub: jobisoft
    Thunderbird Add-on Support Engineer / Add-on Coordinator (MZLA)

    https://developer.thunderbird.net/add-ons/community

  • Thunder
    Administrator
    Reaktionen
    779
    Artikel
    281
    Beiträge
    7.280
    Einträge
    169
    Mitglied seit
    8. Jul. 2003
    Hilfreiche Antworten
    58
    • 27. August 2020 um 11:06
    • #9
    Zitat von jobisoft

    (auch die core files, auf die der WL reagieren soll).

    Autsch. Die hätte ich in der background.js natürlich umbenennen müssen. Ich bin tatsächlich daran gescheitert dies gestern zu verstehen und hatte mich gewundert wie bzw. "welche" core files ich umbenennen soll. Ich habe jetzt ein QCGlobals = {} draus gemacht.

    Das Add-on läuft jetzt zumindest bei der Anzeige der Mails korrekt. Es scheitert noch der PrintMode - da passiert noch nichts. Hier ist die Änderung mit den QCGlobals: https://gitlab.com/ThunderbirdMai…6e25a5b723f3406

    Danke Dir schonmal!

    Gruß
    Thunder ( Mein persönlicher Wunschzettel )

    Keine Hilfe per Konversation! - Danke für Euer Engagement und Eure Geduld!

  • jobisoft
    Senior-Mitglied
    Reaktionen
    228
    Beiträge
    893
    Mitglied seit
    18. Aug. 2016
    Hilfreiche Antworten
    9
    • 27. August 2020 um 11:31
    • #10

    Bei meinen Tests (jetzt in TB78) ging es hier nicht weiter

    https://gitlab.com/ThunderbirdMai…ors.js#L276-280

    D.h. es gibt keinen zweiten Call. gnPrintMsgCnt ist -1 und du macht einen early return. Dann ist Ende.

    Hat das denn in TB68 (mit dem WindowListener) funktioniert? Also ist das ein Problem bei der Umstellung auf den WindowListener oder ein Problem das durch TB78 verurscaht wird?

    John Bieling / Matrix: TbSync / GitHub: jobisoft
    Thunderbird Add-on Support Engineer / Add-on Coordinator (MZLA)

    https://developer.thunderbird.net/add-ons/community

  • Thunder
    Administrator
    Reaktionen
    779
    Artikel
    281
    Beiträge
    7.280
    Einträge
    169
    Mitglied seit
    8. Jul. 2003
    Hilfreiche Antworten
    58
    • 27. August 2020 um 14:41
    • #11

    Mhh, vielleicht hatte ich mich eh geirrt und das Ganze beim Drucken hatte schon vorher (also komplett vor allen Migrations-Arbeiten) nicht funktioniert. Das stelle ich momentan mal hinten an.

    Eine andere Frage, an der ich schon ewig immer wieder scheitere:

    Ich muss einen prefsObserver im Code ändern, da er schlichtweg versagt. Ich bekomme den observer zum Laufen, möchte diesen aber auf den "quotecolors." Branch begrenzen. Daran scheitere ich.

    Gruß
    Thunder ( Mein persönlicher Wunschzettel )

    Keine Hilfe per Konversation! - Danke für Euer Engagement und Eure Geduld!

  • Thunder
    Administrator
    Reaktionen
    779
    Artikel
    281
    Beiträge
    7.280
    Einträge
    169
    Mitglied seit
    8. Jul. 2003
    Hilfreiche Antworten
    58
    • 27. August 2020 um 15:52
    • #12
    Zitat von jobisoft

    D.h. es gibt keinen zweiten Call. gnPrintMsgCnt ist -1 und du macht einen early return. Dann ist Ende.

    Das hatte so bis Tb 60 funktioniert - warum auch immer. Ab Tb 68 und jetz im Tb 78 musste ich einfach die return Zeile auskommentieren. Dann läuft es korrekt - auch wenn man mehrere Mails auf einmal druckt.

    Die prefsObserver könnte ich später noch optimieren. Und die optischen Gruppierungen der Optionen in Thunderbird 78 (weil die captions da ja anders umgesetzt wurden) kann ich später noch verbessern.

    Ansonsten habe ich jetzt fertige, wirklich funktionierende Versionen sowohl für Tb 68 als auch Tb 78.

    Ich hatte Malte Rücker per E-Mail versucht zu kontaktieren. Immerhin kam die Mail nicht zurück. Ich glaube aber, dass er nicht antworten wird, da er auf ATN seit vielen Jahren auch keine Antworten zu Bewertungen mehr abgegeben hatte. Vielleicht könnte man mich für dieses Add-on eintragen / freischalten:

    https://addons.thunderbird.net/de/thunderbird/addon/quote-colors/

    Dann kann ich dort die neuen Versionen hoch laden, deren ID ich momentan auch im manifest verwende.

    Gruß
    Thunder ( Mein persönlicher Wunschzettel )

    Keine Hilfe per Konversation! - Danke für Euer Engagement und Eure Geduld!

  • jobisoft
    Senior-Mitglied
    Reaktionen
    228
    Beiträge
    893
    Mitglied seit
    18. Aug. 2016
    Hilfreiche Antworten
    9
    • 27. August 2020 um 16:24
    • #13
    Zitat von Thunder

    Vielleicht könnte man mich für dieses Add-on eintragen / freischalten:


    https://addons.thunderbird.net/de/thunderbird/addon/quote-colors/

    Das dürfen wir leider nicht. Es muss vom originalen Author eine Freigabe erfolgen. Im ATN backend kann er dich als Eigentümer oder als Entwickler hinzufügen. Anders geht es leider nicht. Bei den Add-Ons die ich übernommen habe musste ich auch diesen Weg gehen. :-(

    John Bieling / Matrix: TbSync / GitHub: jobisoft
    Thunderbird Add-on Support Engineer / Add-on Coordinator (MZLA)

    https://developer.thunderbird.net/add-ons/community

  • jobisoft
    Senior-Mitglied
    Reaktionen
    228
    Beiträge
    893
    Mitglied seit
    18. Aug. 2016
    Hilfreiche Antworten
    9
    • 27. August 2020 um 16:41
    • #14
    Zitat von Thunder

    Ich muss einen prefsObserver im Code ändern, da er schlichtweg versagt. Ich bekomme den observer zum Laufen, möchte diesen aber auf den "quotecolors." Branch begrenzen. Daran scheitere ich.

    JavaScript
      var myObserver = {
       observe: function(aSubject, aTopic, aData) {
         console.log(aSubject);
         console.log(aTopic);
         console.log(aData);
       }
      } 
      Services.prefs.getBranch("").addObserver("extensions.sendtocategory.", myObserver);

    Das klappt bei mir wie in der Dokumentation beschrieben. Das Ding feuert nur bei Änderungen in meinem sendtocategory branch. Wie sieht denn dein Code aus? Es funktioniert wohl nur auf dem root branch.

    John Bieling / Matrix: TbSync / GitHub: jobisoft
    Thunderbird Add-on Support Engineer / Add-on Coordinator (MZLA)

    https://developer.thunderbird.net/add-ons/community

  • jobisoft
    Senior-Mitglied
    Reaktionen
    228
    Beiträge
    893
    Mitglied seit
    18. Aug. 2016
    Hilfreiche Antworten
    9
    • 27. August 2020 um 16:43
    • #15

    Evtl mit dem hier zusammentun?

    https://addons.thunderbird.net/en-us/thunderb…ew-quotecolors/

    John Bieling / Matrix: TbSync / GitHub: jobisoft
    Thunderbird Add-on Support Engineer / Add-on Coordinator (MZLA)

    https://developer.thunderbird.net/add-ons/community

  • jobisoft
    Senior-Mitglied
    Reaktionen
    228
    Beiträge
    893
    Mitglied seit
    18. Aug. 2016
    Hilfreiche Antworten
    9
    • 27. August 2020 um 16:51
    • #16

    Kannst du mir deine ATN email per PM zukommen lassen?

    John Bieling / Matrix: TbSync / GitHub: jobisoft
    Thunderbird Add-on Support Engineer / Add-on Coordinator (MZLA)

    https://developer.thunderbird.net/add-ons/community

  • Thunder
    Administrator
    Reaktionen
    779
    Artikel
    281
    Beiträge
    7.280
    Einträge
    169
    Mitglied seit
    8. Jul. 2003
    Hilfreiche Antworten
    58
    • 27. August 2020 um 20:37
    • #17

    Ist es möglich ein Array von CSS-Dateien zu injecten?

    Beispiel:

    Code
      WL.injectCSS(["resource://allowhtmltemp/skin/aht_buttons.css","resource://allowhtmltemp/skin/aht_statusbar.css"]);
      WL.injectElements(`
        <keyset>

    Und gleiche Frage auch für die DTD-Dateien am Ende des ganze XUL-Injects:

    Code
            </hbox>
          </hbox>
    
        </hbox>`,
      [["chrome://allowhtmltemp/locale/allowhtmltemp.dtd"],["chrome://messenger/locale/messenger.dtd"]]);

    Gruß
    Thunder ( Mein persönlicher Wunschzettel )

    Keine Hilfe per Konversation! - Danke für Euer Engagement und Eure Geduld!

  • Thunder
    Administrator
    Reaktionen
    779
    Artikel
    281
    Beiträge
    7.280
    Einträge
    169
    Mitglied seit
    8. Jul. 2003
    Hilfreiche Antworten
    58
    • 27. August 2020 um 20:40
    • #18

    Und noch eine Frage:

    Code
    var {
      Services
    } = ChromeUtils.import("resource://gre/modules/Services.jsm");
    ChromeUtils.import("resource:///modules/gloda/mimemsg.js");

    Geht der Import der ChromeUtils so nicht mehr? Ich bekomme da eine Fehlermeldung. Liegt dies schlichtweg daran, dass ich alles in ein Object packen muss?

    Gruß
    Thunder ( Mein persönlicher Wunschzettel )

    Keine Hilfe per Konversation! - Danke für Euer Engagement und Eure Geduld!

  • jobisoft
    Senior-Mitglied
    Reaktionen
    228
    Beiträge
    893
    Mitglied seit
    18. Aug. 2016
    Hilfreiche Antworten
    9
    • 27. August 2020 um 20:52
    • #19

    Der DTD parameter ist ein array:

    injectElements(...., ["chrome://allowhtmltemp/locale/allowhtmltemp.dtd", "chrome://messenger/locale/messenger.dtd"]);

    injectCSS() must be called multiple times, no array support.

    John Bieling / Matrix: TbSync / GitHub: jobisoft
    Thunderbird Add-on Support Engineer / Add-on Coordinator (MZLA)

    https://developer.thunderbird.net/add-ons/community

  • jobisoft
    Senior-Mitglied
    Reaktionen
    228
    Beiträge
    893
    Mitglied seit
    18. Aug. 2016
    Hilfreiche Antworten
    9
    • 27. August 2020 um 20:56
    • #20
    Code
    ChromeUtils.import("resource:///modules/gloda/mimemsg.js");

    Ich glaube die Datei gibts in 78 nicht mehr.

    John Bieling / Matrix: TbSync / GitHub: jobisoft
    Thunderbird Add-on Support Engineer / Add-on Coordinator (MZLA)

    https://developer.thunderbird.net/add-ons/community

Aktuelle Programmversion

  • Thunderbird 139.0.2 veröffentlicht

    Thunder 11. Juni 2025 um 17:31

Aktuelle ESR-Version

  • Thunderbird 128.11.1 ESR veröffentlicht

    Thunder 11. Juni 2025 um 17:27

Keine Werbung

Hier wird auf Werbeanzeigen verzichtet. Vielleicht geben Sie dem Website-Betreiber (Alexander Ihrig - aka "Thunder") stattdessen etwas aus, um diese Seiten auf Dauer finanzieren zu können. Vielen Dank!

Vielen Dank für die Unterstützung!

Kaffee ausgeben für:

Per Paypal unterstützen*

*Weiterleitung zu PayPal.Me

Thunderbird Mail DE
  1. Impressum & Kontakt
  2. Datenschutzerklärung
    1. Einsatz von Cookies
  3. Nutzungsbedingungen
  4. Spendenaufruf für Thunderbird
Hilfe zu dieser Webseite
  • Übersicht der Hilfe zur Webseite
  • Die Suchfunktion benutzen
  • Foren-Benutzerkonto - Erstellen (Neu registrieren)
  • Foren-Thema erstellen und bearbeiten
  • Passwort vergessen - neues Passwort festlegen
Copyright © 2003-2025 Thunderbird Mail DE

Sie befinden sich NICHT auf einer offiziellen Seite der Mozilla Foundation. Mozilla®, mozilla.org®, Firefox®, Thunderbird™, Bugzilla™, Sunbird®, XUL™ und das Thunderbird-Logo sind (neben anderen) eingetragene Markenzeichen der Mozilla Foundation.

Community-Software: WoltLab Suite™