1. Home
  2. News
  3. Download
    1. Thunderbird Release Version
    2. Thunderbird 128 ESR
    3. Thunderbird 115 ESR
    4. Thunderbird Beta Version
    5. Language Pack (User Interface)
    6. Dictionaries (Spell Check)
  4. Help & Lexicon
    1. Instructions for Thunderbird
    2. Questions & Answers (FAQ) about Thunderbird
    3. Help for this Website
  5. Forums
    1. Unresolved Threads
    2. Latest Posts
    3. Threads of the last 24 hours
  • Login
  • Register
  • 
  • Search
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Forum
  • Lexicon
  • Articles
  • Pages
  • More Options
  1. Thunderbird Mail DE
  2. Forum
  3. Hilfe zu Add-ons und manuellen Anpassungen
  4. Erweiterungen

Mail Extension: Zugriff auf Dateisystem und Windows-Registry

    • 68.*
    • Windows
  • hambrecht.oliver
  • January 29, 2020 at 9:20 AM
  • Closed
  • Thread is Unresolved
  • hambrecht.oliver
    Junior Member
    Posts
    3
    Member since
    29. Jan. 2020
    • January 29, 2020 at 9:20 AM
    • #1

    Hallo verehrte Thunderbird-Gesellschaft,

    ich bin ein wenig am verzweifeln und erhoffe mir bei euch einen Wink in die richtige Richtung zu erhalten. Hoffe nur, dass ihr mir hier technisch unter die Arme greifen könnt und ich auch richtig bin.

    Bisher hatte ich ein einfaches Thunderbird Add-on, dass XPCOM verwendet hatte, um auf die Registry wie auch auf das Dateisystem unter Windows zugreifen zu können. Es kann nicht online bezogen werden, sondern wird im Rahmen einer Desktop-Installation bereitgestellt. Doch das neuste Thunderbird verlangt nun, dass das "alte" XUL Overlay" etc. in eine Mail Extension umgestellt werden muss. Natürlich war mein bisheriges Overlay nicht kompatible (auch nicht im Legacy-Mode!) und ich musste neue UI-Wege gehen, was soweit geklappt hat.

    Nun aber zum konkreten Problem:

    Beim Auslesen von Registry-Werten wurde bisher via XPCOM im JavaScript auf Components.classes zugegriffen:

    Code
    this.windowsRegistry = Components.classes["@mozilla.org/windows-registry-key;1"].createInstance(Components.interfaces.nsIWindowsRegKey);

    Jedoch erhalte ich nun im Log diese beiden Meldungen dazu:

    - Das Components-Objekt sollte nicht mehr verwendet werden. Es wird bald entfernt.

    - exception TypeError: Components.classes is undefined

    Bisher konnte ich bei Recherchen keine Informationen darüber finden, mit was "Components" in Mail Extensions ersetzten werden sollte und wie ich dann dort auf Components.classes zugreifen kann. Habt ihr dazu vielleicht eine Idee oder Anhaltspunkt? Oder entwickelt sich hier Thunderbird zu einer reinen Web-Lösung, die keinen lokalen Zugriff (Registry, Dateisystem etc.) mehr ermöglicht? Bin für alle Hinweise dankbar.

    Danke vorab und Grüße,

    Oliver

  • graba January 29, 2020 at 11:13 AM

    Approved the thread.
  • generalsync
    Senior Member
    Reactions Received
    48
    Posts
    550
    Member since
    29. Aug. 2016
    Helpful answer
    1
    • January 29, 2020 at 10:04 PM
    • #2

    In 68 und allen bislang geplanten Versionen gibt es für privilegiertes JS eigentlich keinen Unterschied im Bezug auf Components.classes. Ich habe auch nichts gehört, dass sich das bald ändern soll.

    Kann das sein, dass du unprivilegiertes JavaScript nutzt (d.h. eine "reine" WebExtension in einer Sandbox ohne XPCOM)? Dort ist nur erlaubt, was dir deine Berechtigungen explizit ermöglichen. Wenn du in einer WebExtension an XPCOM willst, musst du ein "Experiment" anhängen. Im Experiment darfst du privilegiertes JS schreiben – und für die WebExtension eine API bereitstellen, mit dem dieses dann privilegierte Funktionen nutzen kann.

    Die Idee ist, dass Thunderbird solche Experimente einerseits mehr oder weniger direkt übernehmen kann, um so die WebExtension-Schnittstellen langfristig zu verbessern. Andererseits sollen größere Umbauten für neue Thunderbird-Versionen zukünftig nur in den Experimenten notwendig sein (diese aber dafür umso größer ausfallen!). Es empfiehlt sich also, die Experimente so klein wie möglich zu halten.

    Ich entwickle unter anderem Synchronisationssoftware für Kalender und Adressbücher – ohne Cloud oder Server.

  • hambrecht.oliver
    Junior Member
    Posts
    3
    Member since
    29. Jan. 2020
    • January 30, 2020 at 12:48 PM
    • #3

    Das sind ja schon mal sehr interessant Informationen - vielen Dank dafür.

    Aktuell verwende ich eine "Mail Extension" - ist aber vermutlich eine "Web Extension" wie in Firefox, nur dass es in Thunderbird "Mail Extension" genannt wird.

    Quote

    Dort ist nur erlaubt, was dir deine Berechtigungen explizit ermöglichen.

    Mit den Berechtigungen hier wird vermutlich "permissions" im manifest.json gemeint sein, oder? Hier konnte ich jedoch noch keine Option/Kombi finden, die mir das XPCOM zugänglich machen könnten.

    Die Alternative mit "Experiment" klingt spannen und unsicher zugleich. Ist das tatsächlich ein Pferd, auf das man langfristig setzen kann? Denn alleine der Name verheißt nichts wasserdichtes und ich will vermeiden in den kommenden Monaten schon wieder Hand anlegen zu müssen, nur weil es "Experimente" nicht mehr gibt - waren ja schließlich nur ein Experimente 8)

    Gibt es einen sinnvollen Zugang zu diesen "Experimenten", so dass ich mir die Entwicklung, API etc. anschauen kann, um es als mögliche Option in betracht zu ziehen? Wäre klasse, wenn es aus Erfahrung hierzu schon ein klasse Einstieg gäbe.

    Besten Dank vorab für weitere Infos zu diesem Thema.

  • generalsync
    Senior Member
    Reactions Received
    48
    Posts
    550
    Member since
    29. Aug. 2016
    Helpful answer
    1
    • January 30, 2020 at 10:32 PM
    • #4
    Quote from hambrecht.oliver

    Hier konnte ich jedoch noch keine Option/Kombi finden, die mir das XPCOM zugänglich machen könnten.

    Das wird es auch niemals geben, soviel wurde bereits beschlossen. Wenn du "alles" machen können willst (was XPCOM ja zulässt), brauchst du ein Experiment (das sollte dann auch irgendwie als "Berechtigung" dem Nutzer angezeigt werden, auch wenn es technisch keine Berechtigung ist).

    Quote from hambrecht.oliver

    Ist das tatsächlich ein Pferd, auf das man langfristig setzen kann?

    Nein, soll es auch nicht sein. Rechne damit, dass das Experiment für jede ESR-Version vollständig neu geschrieben werden muss. Daher soll man es ja auch klein halten.

    Quote from hambrecht.oliver

    Gibt es einen sinnvollen Zugang zu diesen "Experimenten", so dass ich mir die Entwicklung, API etc. anschauen kann, um es als mögliche Option in betracht zu ziehen?

    Ist zwar eigentlich für Firefox, aber ich würde zuerst die offizielle Übersicht unter https://webextensions-experiments.readthedocs.io/en/latest/ lesen und anschließend das dort verlinkte crashme anschauen. Dann sollte man loslegen können.


    Beim Lesen der Übersicht nicht erschrecken: in Firefox-Beta und -Release sind Experiments bewusst gesperrt (d.h. Mozilla verbietet Drittentwicklern, Experiments zu veröffentlichen) – für Thunderbird ist eine solche Sperre meines Wissens bislang nicht geplant.

    Edit: es gibt eine offizielle Dokumentation für Thunderbird. Frag mich nicht warum ich die gerade übersehen habe...

    Ich entwickle unter anderem Synchronisationssoftware für Kalender und Adressbücher – ohne Cloud oder Server.

  • hambrecht.oliver
    Junior Member
    Posts
    3
    Member since
    29. Jan. 2020
    • January 31, 2020 at 8:39 AM
    • #5

    Danke für die super Infos.

    Aber so richtig Spaß macht es - in meinem Fall ja dann nicht - eine Mail Extension zu schreiben, wenn ich unter Windows Zugriff auf das Dateisystem oder die Registry benötige. Da ist es natürlich auch nur ein schwacher Trost, dass man es zwar jetzt mit Experimente lösen könnte (hoffentlich auch für den Release-Kanal von Thunderbird lauffähig?!) - es aber offenbar nicht von Dauer sein wird. Da muss ich mir tatsächlich was überlegen oder schlicht den Thunderbird-Support was das Add-on angeht auf Eis legen.

    Nochmal besten Dank für den prima Austausch hier.

  • Community-Bot September 3, 2024 at 8:40 PM

    Closed the thread.

Current app version

  • Thunderbird 139.0.2 veröffentlicht

    Thunder June 11, 2025 at 5:31 PM

Current ESR version

  • Thunderbird 128.11.1 ESR veröffentlicht

    Thunder June 11, 2025 at 5:27 PM

No Advertisements

There are no advertisements here. Maybe you give the website owner (Alexander Ihrig - aka "Thunder") instead something to be able to finance these sites in the long run. Many Thanks!

Thank you for the support!

Coffee to be spent?

Donate now via Paypal*

*Forwarding to PayPal.Me

Thunderbird Mail DE
  1. Imprint & Contact
  2. Privacy Policy
    1. Cookie Policy
  3. Terms of Use
  4. Donation Call for Thunderbird
Help for this website
  • All website support articles
  • How to use website search
  • How to create a forums user account
  • How to create and edit a forums thread
  • How to reset your forums password
Copyright © 2003-2025 Thunderbird Mail DE

You are NOT on an official page of the Mozilla Foundation. Mozilla®, mozilla.org®, Firefox®, Thunderbird™, Bugzilla™, Sunbird®, Seamonkey®, XUL™ and the Thunderbird logo are (among others) registered trademarks of the Mozilla Foundation.

Powered by WoltLab Suite™