Schlagwörter synchronisieren | Postfix + Dovecot + IMAP

  • Hallo zusammen,
    wir nutzen in unserem Unternehmen Schlagwörter, um den Bearbeitungszustand der Mails zu kennzeichnen (rot + grün für "in Arbeit", respektive "Erledigt").
    Nun würden wir gerne zusätzlich jedem Mitarbeiter eine Farbe zuweisen, sodass man erkennen kann welcher Mitarbeiter eine Mail bearbeitet hat.
    Wir bräuchten min. 12 Schlagwörter die synchron gehalten werden.
    Leider müssten wir feststellen, dass nur 4 Schlagwörter über unseren Mailserver synchron gehalten werden können.
    So wie wir das Verstehen hängt Thunderbird pro Schlagwort einen Tag an den Mailheader, z.b. 1,2,3 oder 4.
    Jede Thunderbird Installation ersetzt dann den Tag gegen das lokal konfigurierte Schlagwort.
    Legen wir nun auf allen Installationen einen neuen Tag an, z.b. die 5 für Andrea, wird dieser Tag nicht synchronisiert.
    Woran liegt diese Verhalten? Ist dies eine IMAP Begrenzung?
    Wir nutzen unseren eigenen Postfix Mailserver auf einem Debian System. Zugestellt wird mit Dovecot.
    Wir setzen Thunderbird 78.13.0 ein.

    Liebe Grüße
    AlfaService

  • graba

    Approved the thread.
  • WOW, sehr interessantes Thema, da wir es bei uns in der Firma ähnlich machen.


    Dabei wusste ich gar nicht, das es 4 gibt, die Synchronisiert werden?


    Welche 4 werden synchronisiert, bzw. wo genau kann man es nachschauen/Festlegen?

  • Ich habe es mittlerweile rausgefunden:


    Es ist ein wenig technisches Verständnis dafür notwendig.


    Generell funktioniert das synchronisieren von Schlagwörtern nur wenn man einen eignen Postfix Server mit dem Dovecot Mail Transfer Agent benutzt.

    Nutzt man z.b. Web.de, Gmx.de, order irgendetwas anderes, geht es gar nicht. Dovecot ist hier das absolute Zauberwort.

    Mails werden idr. per IMAP mit dem Server synchron gehalten. Man muss hier verstehen das Mails keine Farben haben können, sondern nur "Tags".

    Jede Mail landet einzeln auf dem Dateisystem des Servers - hier kann man aber keine Tags anhängen (Dateinamen würden zu lang werden) also werden, ganz einfach geschrieben, Buchstaben an die Dateinamen gehangen die für die Tags stehen. Es gibt 26 Buchstaben im Alphabet, analog dazu kennt das Mail Protokoll 26 Zustände.


    So viel zum Grundwissen:


    Diese Tags werden von anderen Mailprogramme (alles außer Thunderbird) benutzt um Mail z.b. als Spam, no SPam und ähnliches zu kennzeichnen. Thunderbird nimmt hier eine Sonderrolle ein, da es den User erlaubt eigene Schlagwörter zu kreieren und zu nutzen. Dovecot hat eine Datei in dem es die Tags speichert - allerdings nicht nur die vom Thunderbird - sondern die von allen Mail Clients die auf den Server zugreifen.


    Die Lösung für mein Problem ist:


    Alle Clienten und der Server müssen die selbe Liste an Tags nutzen. Dies würde man erreichen indem man einen Thunderbird entsprechend konfiguriert und dann den entsprechenden Code Block in alle anderen Thunderbird Clienten kopiert. Simple gesprochen müssen auf allen Thunderbirds die Schlagwörter gleich sein (z.b. 1. für rot (in Arbeit), 2. für grün (Erledigt), 3. in blau Andrea, usw. usf). Es reicht allerdings nicht das alle Thunderbird Clienten gleich sind - auch Dovecot muss die selben Schlagwörter genau so in der Liste haben.


    Hat man dies so erledigt - kann man bis zu 26 vers. Schlagwörter nutzen und synchronisieren.


    ------------------------



    Kommen wir zu den Problemen. Wie eingangs erwähnt kocht Thunderbird ein eigenes Süppchen - weit weg vom Standard. Andere Clienten wie z.b. Outlook oder der iPhone Mail Client (im Prinzip alles außer Thunderbird) nutzen diese Tags um Spam zu kennzeichnen. Dovecot führt wie erwähnt eine eigene Tag Liste und befüllt diese mit allen Tags die es von jedem Mail Programm bekommt.

    Und genau hier liegt unser Problem - die anderen Programme bringen die Tag Liste auf dem Server durcheinander.


    Im Prinzip ist die Lösung einen Dovecot MTA (Mail Transfer Agent) zu benutzen und auf dieses Konto ausschließlich mit Thunderbird zuzugreifen.


    Protip: Das ganze System einrichten und am Ende am Server die Dovecot Tag Datei mit einem Schreibschutz versehen. Dann kann man auch mit mobilen Geräten darauf zugreifen - ohne die Tag-Liste zu "killen".


    Unser Problem war, dass die anderen Programme die Tag Liste derart gefüllt hatten das Dovecot "verwirrt" gewesen ist.


    Grüße


    PS: Man kann dies alles nur erreichen wenn man seinen eigenen Server stellt bzw. hat. Dafür braucht man Linux Kenntnisse.

  • Das stimmt so nicht ganz. Man kann deutlich mehr Schlagwörter definieren, nur diese nicht mehr mit 1-9 zuweisen.

    Über das rechtsklick Menu -> Schlagwörter kann man Schlagwörter setzen die nicht mehr in 1-9 passen.

    In der Schlagwörter Verwaltung kann man diese anlegen.

    Für uns absolut ausreichend um Mails mit dem "Bearbeiter" zu kennzeichnen.

  • Mit Mailservern kenne ich mich nicht aus. Wenn das aber alles so ist, wie du schreibst, dann muss es dazu einen RFC geben. Daran halten sich dann hoffentlich auch die anderen Mailserver. OK, MS vielleicht nicht. Hast du dazu vielleicht eine Nummer? Es würde mich wundern, wenn ausgerechnet der Thunderbird sich nicht an die RFC halten würde. Das mit dem Durcheinanderbringen will mir ebenso nicht einleuchten. Erwarten würde ich, dass man definiert hat, welcher Tag welchen Zweck hat. Dann vielleicht noch frei definierbare obendrauf. Sonst würde der Provider selbst beispielsweise mit dem Tag für Spam durcheinander kommen, wenn der Benutzer dieses Tag für etwas anderes benutzt.

    Nutzt man z.b. Web.de, Gmx.de, order irgendetwas anderes, geht es gar nicht.

    Das ist zum Glück nicht richtig. Bei mir klappt das bei den 4 Standardschlagwörtern und dem Thunderbird einwandfrei mit GMX.


    Das ganze System einrichten und am Ende am Server die Dovecot Tag Datei mit einem Schreibschutz versehen.

    Das klingt nicht nach einer guten Idee. Deshalb würden mich mal die RFCs interessieren.

    Man kann deutlich mehr Schlagwörter definieren, nur diese nicht mehr mit 1-9 zuweisen.

    Welchen Zweck haben Schlagwörter, die man nicht einmal lokal zuweisen kann? Hört sich so an, als hätte man vergessen, die Anzahl zu begrenzen.

    Unser Verein. Unsere DNA.

  • Hallo AlfaService,


    sehr interessanter Bericht & Danke dafür, deshalb 1 x :thumbup: . Kürzlich hatte hier jemand ein Problem mit der Synchronisierung über mehrere Rechner hinweg, alle mit gemeinsamem lokalen Zugriff auf das Thunderbirdprofil und somit synchronisiertem Schlagwort-Datenstand. Trotzdem kam die Markierung gemäß Schlagwort aus dem Tritt.


    Aber wie Altstadt schon schrieb ...

    Nutzt man z.b. Web.de, Gmx.de, order irgendetwas anderes, geht es gar nicht. Dovecot ist hier das absolute Zauberwort.

    ... stimmt glücklicherweise nicht. Geht eben auch mit anderen Providern.


    Ein Limit von 26 maximal möglichen synchronisierbaren Schlagworten möchte ich auch Bezweifeln. Siehe dazu besagte andere Fragestellung (falls ich sie gleich noch finde) - die haben da weit mehr im Einsatz.


    Gruß

    Sehvornix

  • Hallo Altstadt,

    Welchen Zweck haben Schlagwörter, die man nicht einmal lokal zuweisen kann? Hört sich so an, als hätte man vergessen, die Anzahl zu begrenzen.

    Aber doch, kann man. Vielleicht nicht mit Tastatur-Shortcuts. Jedoch direkt über das Menü Nachricht > Schlagwörter und natürlich auch sehr gut über Filter-Regelwerke, die dann ganz automatisch farbliche Hervorhebungen produzieren, wenn man so etwas möchte.


    Gruß

    Sehvornix

  • OK, demnach kann man mehr als 9 Schlagwörter zuweisen. Vermutlich dann nur noch über das Kontextmenü? Das wäre dann abgehakt.

    Meine Zweifel oder die Unsicherheit beziehen sich auf die Erklärung der Tags und deren Zweck und darauf, dass der Thunderbird einen Sonderweg gehen würde. Die Erklärung ist für mich noch nicht schlüssig. Siehe oben. Deshalb hätte gern in den RFCs nachgesehen.

    Unser Verein. Unsere DNA.


  • Es gehen mehr - wenn man es einfach hält aber nur 26 (weil das Alphabet nur 26 Buchstaben hat)


    rfc3501 (ietf.org)


    und


    Maildir Mailbox Format — Dovecot documentation


    Kommt drauf an wie man seinen Mailserver eingerichtet hat bzw. mit welchen Diensten man ihn kombiniert.


    Grüße


    Quote

    IMAP Keywords

    All the non-standard message flags are called keywords in IMAP. Some clients use these automatically for marking spam (eg. $Junk, $!NonJunk, $Spam, $!NonSpam keywords). Thunderbird uses labels which map to keywords $Label1, $Label2, etc.

    Dovecot stores keywords in the Maildir filename’s flags field using letters a..z. This means that only 26 keywords are possible to store in the Maildir. If more are used, they’re still stored in Dovecot’s index files. The mapping from single letters to keyword names is stored in dovecot-keywords file. The file is in format:


    Ich wollte da keine große Geschichte daraus machen, uns reichen die 26 Keywords. 6 Keywords sind für uns nicht nutzbar da Spam Marker und ähnliches, es bleiben uns 20 Keywords. Wir haben 8 Mitarbeiter die Mails beantworten + 2 "generelle" Zustände. Für unsere Belange vollkommen ausreichend.

  • Zunächst ein Dank für den Link auf den RFC. Ich habe dabei einiges gelernt. Ich bin der Meinung, so einiges aus #3 stimmt nicht. Oder ich habe es doch noch nicht geblickt. Im RFC, im Abschnitt 2.3.2 "Flags Message Attribute", Keywords sind gemäß der Spezifikation Flags. Weiter


    Quote

    A keyword is defined by the server implementation. Keywords do not

    begin with "\". Servers MAY permit the client to define new keywords

    in the mailbox (see the description of the PERMANENTFLAGS response

    code for more information).


    Ich verstehe den RFC so: Keywords werden behandelt wie die Standard Flags, beispielsweise \Seen für gelesen \Answered für beantwortet etc. . Interessant dabei, das Kennzeichnen ist ein Standard Flag. Das müsste demnach von allen konformen Mailservern und Clients unterstützt werden. Mit K9 auf dem Smartphone klappt es in beide Richtungen.

    Mailprogramme können auch eigene Keywords auf dem Server anlegen. Eigene Keywords beginnen nicht mit einem \. Beim Thunderbird heißen sie $Label1 usw. . Ob überhaupt und wie viele eigene Keywords unterstützt werden, ist dem Server überlassen. Wie die Keywords gespeichert werden, schreibt der RFC auch nicht vor. Das ist ebenfalls dem Server überlassen.

    Das bedeutet für mich, der Thunderbird macht exakt das, was der RFC fordert. Er definiert eigene Keywords als Permanentflag. Er kocht kein eigenes Süppchen. Die Einschränkung entsteht auf dem Server.

    Das Problem mit den eigenen Keywords ist, dass sie frei wählbar sind. Sie sind nicht festgeschrieben wie die Flags für gelesen, beantwortet oder gekennzeichnet. Ein Flag $Label1 wird nur von Programmen verstanden, die ihrerseits auch $Label1 verwenden. Deshalb klappen die Schlagwörter mit anderen Programmen evtl. nicht. Umgekehrt versteht der Thunderbird die Keywords der anderen Programme nicht.

    Die zweite Hürde ist die, dass alle Thunderbirds dieselbe Liste an Schlagwörtern und Farben benutzen müssen. Auf dem Server wird nur das Flag $Label1 usw. gespeichert. Übersetzt in wichtig + Farbe Rot wird es vom jeweiligen Thunderbird. Die Liste auf dem Server ist wiederum eindeutig. Sie enthält die definierten Keywords. Die Reihenfolge ist egal.

    Unser Verein. Unsere DNA.

  • Meiner Meinung nach sollte man sich nicht so auf die RFC versteifen. In diesem Fall kommt es mehr auf die kompatibilität an. Es hat sich unter Mailprogrammen eingebürgert diese Keywords für andere Fälle zu nutzen, eben um z.b. Spam, NoSpam und ähnliches zu triggern. Thunderbird macht es halt anders. Das Problem entsteht, bzw. unser Problem ist durch eine Vielzahl an Mail Programmen entstanden, welche auf den Server zugreifen. Dadurch füllt Dovecot die Keywords Datei in einer unpraktische Weise für Thunderbird. Irgendwann gehen Dovecot die Keywords aus und es lassen sich keine Keywords mehr synchronisieren. Man könnte nun argumentieren das Dovecot auf 26 Keywords begrenzt ist, weil er nicht vollständig konfiguriert ist. Aber auch hier spielen, wie immer, diverse Faktoren mit rein. Z.b. andere Software am Server, SIcherheitsaspekte, Backups um ein paar zu nennen. Wir fahren hier unseren eigenen Root Server für diverse Services - der Postfix Server ist da eher ein kleines Licht in der Kette. Verstehen Sie meine Lösung als Kosten / Nutzen Lösung :D


    Man kann es sicher besser lösen als ich es getan habe - aber wir brauchen hier nicht DIE Lösung.

  • WOW.. super Antworten bisher. Leider habe ich momentan nicht die Zeit, um mich wirklich sehr eingehend damit zu befassen.


    Allerdings würde ich gerne auf unseren 3 festen PC´s, die Schlagworte anpassen damit, wenn einer eine Mail auf Schlagwort "3" setzt, dass dann auch die passen Farbe etc. bei den beiden anderen Rechnern gleich ist.

    Wir benötigen meist so 4-6 Schlagworte häufig.


    Wo findet man denn die Schlagworte (auf dem Windows 10 PC)?

    Das wäre für´s erste schon mal eine tolle Hilfe für uns.

    Edited 2 times, last by legalstuff ().

  • Danke Altstadt, ich habe es unter "Extras, Einstellungen, Allgemein, runter scrollen, Schlagwörter."


    Ich dachte eher daran, ob es eine Datei gibt von TB, wo die drin stehen, die man dann entweder kopieren kann, oder den Teil aus einer Config, in jede Config rein kopiert.


    Das manuell zu machen, ja ist möglich, dauert aber länger und ist eventuell mit Fehlern behaftet in der Schreibweise... kopieren wäre sicherer.

  • Ich dachte eher daran, ob es eine Datei gibt von TB, wo die drin stehen, die man dann entweder kopieren kann, oder den Teil aus einer Config, in jede Config rein kopiert.

    In TB 78.14 stehen die Schlagwörter in der «prefs.js»:

    user_pref("mailnews.tags.$label1.color", "#FF0000");

    user_pref("mailnews.tags.$label1.tag", "Wichtig");

    user_pref("mailnews.tags.$label2.color", "#FF9900");

    user_pref("mailnews.tags.$label2.tag", "Dienstlich");

    user_pref("mailnews.tags.$label3.color", "#009900");

    user_pref("mailnews.tags.$label3.tag", "Persönlich");

    user_pref("mailnews.tags.$label4.color", "#3333FF");

    user_pref("mailnews.tags.$label4.tag", "Zu erledigen");

    user_pref("mailnews.tags.$label5.color", "#993399");

    user_pref("mailnews.tags.$label5.tag", "Später");

    user_pref("mailnews.tags.version", 2);

    Du kannst sie in die «user.js» packen, dann werden die Einstellungen der «prefs.js» damit überschrieben. («user.js» hat Vorrang) «prefs.js» vorher sichern!

  • Ich dachte eher daran, ob es eine Datei gibt von TB, wo die drin stehen, die man dann entweder kopieren kann, oder den Teil aus einer Config, in jede Config rein kopiert.

    Das geht, wie du siehst. Nur, für gerade mal 3 Rechner würde ich das über Menü machen.

    Unser Verein. Unsere DNA.