Frage, Dovecot und Index

Domi

Member
Hallo Leute, ich habe mal eine kleine Frage...
Ich habe versucht, mich mal wegen der Index Datei und dessen Cache zu belesen. Es geht darum, das ich zwei Server habe... beide sind mit der identischen Dovecot Version (2.0.19-0ubuntu2.1) bestückt und beide haben identische Config Dateien.

Der eine Server ist vor Ort und hängt im LAN, der andere steht bei Hetzner.
Ich habe vor ein paar Tagen feststellen dürfen, dass sowohl auf dem einen als auch auf dem anderen Server Unterschiede in den IMAP Postfächern herrscht die ich verwende.

z.B. Habe ich heute Morgen, bevor ich zur Arbeit gefahren bin, in mein Postfach geschaut und gesehen das zwei ungelesene Nachrichten darin sind. Also bearbeite ich diese doch später, wenn ich im Büro bin. Dort hatte ich sie aber nicht gesehen. Als ich Zuhause war, sind die Emails wieder da gewesen.

Kann man dem Cache von Dovecot irgendwie sagen, dass er weit weniger cachen soll oder gar nichts cachen soll?! Ein Kollege und ich haben z.B. auch ein IMAP Postfach zur gemeinsamen Bearbeitung von Mails. Auch da kommt es mal zu unterschieden und ich weiß noch nicht so wirklich, wonach ich gucken soll.

Am Email Client könnte ich nun sagen "Cache leeren", aber das kann nicht der Sinn und Zweck der Sache sein.

Gruß, Domi
 
Wie synchronisierst Du denn die beiden Server?

Das klingt eher so, als hätte Server 1 Mails, die Server 2 nicht. Ich denke nicht, dass das ein Problem mit dem Cache ist.
 
Nein, falsch verstanden oder von mir falsch beschrieben :D

Die Server sind nicht miteinander verbunden. Es sind zwei völlig getrennte Systeme, aber identische Versionen und Installationen. Es handelt sich um unterschiedliche Postfächer auf unterschiedlichen Servern, die den gleichen Fehler aufweisen ;)

Server 1 (Lan)
- name@domain1.tld

Server 2 (Hetzner)
- name@domain2.tld

Als Client wird Thunderbird in der aktuellsten Version verwendet. Ich könnte zwar sagen Posteingang, Eigenschaften, Reparieren, aber das ist auch keine Lösung. Das ist als wenn ich Chronischen Kopfschmerzen mit Aspirin entgegenwirke, anstatt die Ursache zu suchen :D

Ich habe auch schon so eine "mächtige" Suchmaschine verwendet auf die jeder sehr gerne verweist, aber keine helfende Information gefunden. Und das Problem existiert auch leider nicht erst seit drei Tagen, sondern eher seit einigen Monaten. Und mittlerweile stört es mich dann doch.

Gruß, Domi
 
Nein, falsch verstanden oder von mir falsch beschrieben
Ja, es ist auch nicht verständlich.

Die Server sind nicht miteinander verbunden. Es sind zwei völlig getrennte Systeme, aber identische Versionen und Installationen. Es handelt sich um unterschiedliche Postfächer auf unterschiedlichen Servern, die den gleichen Fehler aufweisen
Und wie bitte sollen wir das verstehen:
Unterschiede in den IMAP Postfächern herrscht die ich verwende.
Stimmt der Zähler nicht oder die Ungelesen-markierung oder fehlen die Mails im Posteingang?

Wie erfährst du ob da wirklich Unterschiede sind? Hast du mal von beiden Rechnern in die Server-IMAP-Ordner über SSH gesehen?
Ich weiß ja nicht wie deine Clients IMAP synchronisieren, ob sie nur Header holen oder ganze Mails. Und ob da noch irgendwelche Virenscanner/SOftwarefirewalls als Folter reinpfuschen.
 
Du könntest auch mal ein Debug-Log von TB schreiben lassen (klick) oder die imap_client_workarounds von dovecot verwenden.

Das bringt aber nur etwas, wenn die Mails tatsächlich im entsprechenden Maildir liegen.
 
Hallöchen :) Machen wir es einfacher. Nehmen wir uns nur einen Server vor und nicht beide gleichzeitig. Vielleicht ist das dann einfacher :)

Ich habe also einen Server mit einem IMAP Postfach, dieses rufe ich von verschiedenen Geräten (PCs, Notebooks) ab. Wenn ich Zuhause meinen Thunderbird öffne, sehe ich im Posteingang (INBOX) 6 Mails, zwei davon sind ungelesen (Fett Markiert) und vier Mails nicht.

Starte ich nun den Thunderbird im Büro, sehe ich nur die vier gelesenen Mails aber die ungelesenen Mails sind nicht zu sehen. Als ich mein Notebook auch noch dazu genommen habe, sah es so aus wie auf dem Büro PC... vier gelesene Emails und das war es.

Ich habe dann via SSH einmal in mein Maildir geschaut, im cur und new sind diese Mails nicht mehr drin gewesen, aber mein PC Zuhause hat mir diese noch als ungelesen angezeigt. Wenn ich eine andere Email als Ungelesen markiert habe, ist das sofort auf allen PCs synchronisiert worden. Aber diese zwei Mails die als ungelesen am PC angezeigt wurden, waren noch immer da.

Erst nachdem ich im Thunderbird diese "Reparieren" Funktion aktiviert hatte, sind die Mails aus dem Posteingang von diesem Client verschwunden. Das ist aber für mich keine Option, weil ich dann...
a. Immer meine Ansicht- Einstellungen neu einstellen muss
b. Kopfschmerzen immer nur mit Aspirin behandle aber nicht die Ursache kenne

Ich hoffe mal, das ist jetzt etwas verständlicher :D
Und das exakt gleiche Phänomen habe ich halt auch mit einem anderen Postfach auf einem anderen Server.

@florian030, da ich ja nun vor zwei Tagen dieses "Reparieren" gemacht habe, ist aktuell wieder alles Synchron. Sobald ich etwas sehe, werde ich versuchen dieses Event durch ein Debugging zu loggen. In der Hoffnung, das ich etwas sehe :)

@GwenDragon, wie gesagt.. ich sehe das es Unterschiede gibt, weil ich alle drei Geräte gleichzeitig aktiv hatte. Und zusätzlich einmal via SSH in mein Maildir geguckt hatte. Und was den Sync vom Client angeht, da ich im Thunderbird nichts eingestellt habe, gehe ich mal beim Default-Setting von einem Voll-Sync aus, sobald ich eine Mail angeklickt habe. Denn wenn keine Verbindung zum IMAP Server besteht, kann ich die Emails trotzdem anschauen :)

Gruß, Domi
 
Wenn ein Gerät abweicht und die anderen Geräte das selbe zeigen wie der Blick ins Maildir, dann schaut das aber sehr nach einem Client-Problem aus. Wenn das dann auch noch mit einem anderen Server passiert (in der selben Konstellation) dann sieht das noch mehr nach einem Client-Problem aus.
 
Okay, dass klingt für mich logisch. Aber das Problem ist, es ist nicht immer der gleiche Client der dieses Problem hat. Es rotiert in einem noch unlogischen System.

Dieses Phänomen tritt mal auf dem Notebook auf, mal auf dem PC im Büro und mal auf dem PC Zuhause. Ich hatte auch schon zig mal, wenn nicht sogar schon 30 mal, den Thunderbird neu installiert. Sogar bei jedem Update habe ich diesen komplett deinstalliert und wieder völlig neu installiert und das Postfach händisch eingetragen. Ich denke mal, da kann man auch verstehen das mich dieses Phänomen etwas "nervt" :D

Da ich aktuell nur an einem PC arbeite und mein Notebook gar nicht aktiv ist, konnte ich noch kein Debug im Thunderbird machen, aber sobald das auftaucht, mache ich das mal... in der Hoffnung, etwas zu finden.

Ich habe halt nur irgendwie das Gefühl, dass meine Config vom Dovecot falsch ist oder der Dovecot manchmal eine Datei im Cache behält und dem Client keine Information übermittelt im Sinne von "Hey, im Posteingang ist etwas passiert, lade mal alles neu!" :D

Hoffe man versteht wie ich das meine.
Gruß, Domi
 
Das IMAP-Protokoll ist eigentlich sehr einfach gestrickt. So viel sollte da nicht schief gehen können.

Ist es immer nur ein Thunderbird oder sind auch andere Clients in der Rotation von betroffenen Systemen mit drin?
 
Kann es sein, dass der Server kein IDLE mehr sendet? Es gibt Clients, die bekommen dann keine Änderungen mehr mit.
 
Moin moin... :)
@elias5000, ja es handelt sich ausschließlich nur um Thunderbird. Was anderes verwende ich gar nicht. Bin also auch kein Outlook oder sonstige Programme, Freund.

@GwenDragon, danke für den Tipp, ich habe in der "10-mail.conf" mal den Parameter "mailbox_idle_check_interval" mit dem Standard wert (30 secs) aktiviert und schaue mal, was nun passiert. :)

Nachtrag: Nachdem ich auch nach IDLE, Dovecot und Thunderbird gesucht hatte, bin ich auf dieses hier gestoßen. Da steht dann beim Thunderbird, wenn mein schlechtes englisch mich nicht völlig täuscht, dass ich das Workaround für Thunderbird aktivieren soll. Das sähe dann für das IMAP Protokoll ungefähr so aus...
Code:
protocol imap {
 ...
 imap_client_workarounds = tb-extra-mailbox-sep
}
 
Last edited by a moderator:
Bei tb-extra-mailbox-sep geht es um die Trenner bei Ordnernamen (Unterordner) unter IMAP.
Das hat wohl weniger mit deinem falsch angezeigten, fehlenden neuen Mails zu tun.
 
Ich könnte zwar sagen Posteingang, Eigenschaften, Reparieren

Damit erstellst du den Index von Thunderbird neu und deutet eher auf ein Problem in Thunderbird als von Dovecot.
Ich kann bei mir gelegentlich ähnliches beobachten (Gelesen-Status auf unterschiedlichen Clients verschieden, Mails die ich auf einem Client in den Papierkorb verschiebe, bleiben auf anderen Clients in der Inbox). Das hatte ich übrigens nicht nur bei Dovecot, sondern konnte es auch schon beobachten, also ich noch Courier eingesetzt hatte.
Zum Workaround hat GwenDragon ja schon was geschrieben...
 
@danton, vielen dank für die Rückmeldung zwecks der Erfahrung. Ich hatte das Problem vorher noch nie gehabt, es trat irgendwann auf und ich vermutete halt im ersten Moment das es am Dovecot liegt. Vorher hatte ich mein Postfach auf einem alten Server von einem Bekannten mit Courier oder Cyrus mail, da bin ich mir jetzt gar nicht so sicher... aber vielleicht täuschte es einfach nur.

Auf jeden Fall ging ich halt davon aus, dass es am Server statt am Client liegt. Weil ich halt immer ein Update mit komplettem Neuinstall von Thunderbird gemacht hatte und das Problem nicht weg ging. Aber dann habe ich schon mal ein oder zwei Ansätze und vielleicht muss man mal im Thunderbird Forum so etwas ansprechen :D

@GwenDragon, ich habe bis dato leider nichts feststellen können. Ich habe den Parameter auch auf dem Server in der Firma aktiviert. Somit müsste entweder mein Kollege oder ich, dann eine Differenz haben zwischen den Postfächern haben. Sollte das nicht mehr auftauchen, war es das definitiv und das Problem wäre geklärt :)

Vorhin, bevor ich den IDLE Parameter eingestellt habe, tauchte das Phänomen noch einmal auf meinem Client auf. Ich habe dann via SSH in das cur Verzeichnis geschaut und es waren nur 3 Mails vorhanden. Thunderbird hat aber 8 Mails angezeigt die ich auch anklicken konnte. Allerdings hatte ich zu dem Zeitpunkt den Thunderbird ohne LOG gestartet :(

Sobald ich aber etwas habe, rufe ich! ;)
Gruß, Domi

Nachtrag1: So, ich habe heute mal wieder meinen Thunderbird aktiviert und in eines der vielen IMAP Postfächer geschaut, und siehe da... das Problem ist wieder vorhanden (siehe Anhang) :( Ich hatte Thunderbird einmal neu gestartet und es war noch immer da. Das Log-File habe ich hier, da muss ich mal schauen ob ich dort etwas sehe.

Nachtrag2: Ich habe so eben mal in der Ubuntu Community angefragt, ob dort auch jemand helfen kann. Denn so wie es aussieht, sind hier auch viele Fragezeichen und keiner hat eine Lösung. Mein englisch ist nun nicht das beste, aber gibt es eine empfehlenswerte internationale Community wo ich versuchen könnte, dieses Problem einmal zu schildern?? :)
 

Attachments

  • thunderbird01.png
    thunderbird01.png
    80.4 KB · Views: 141
Last edited by a moderator:
Hallo Leute, ich habe es endlich geschafft... Heute Morgen habe ich mein privates Notebook aktiviert und dort wurden die Mails einfach nicht gelöscht.

Ich habe dann das Logging im Thunderbird aktiviert und gehofft das er nicht sofort meine Mails richtig anzeigt... und "tada" die Mails werden noch immer falsch gelistet.

Da der Log laut Notepad++ 421 Zeilen beinhaltet, hänge ich diesen mal als Dateianhang bei und hoffe, Ihr könnt mir bei meinem Phänomen weiter helfen :)

Gruß, Domi
 

Attachments

Bei dem IMAP-Konto wird gar kein Mail mit STORE als \Deleted geflagt.
Wie löscht du das in deinem Mail-Client?

Auf einem Mailclient müsste sowas (Beispiel!) ablaufen:
07.10.2014 10:16:15 C: 00031 UID STORE 287 +FLAGS (\Deleted \Seen)
07.10.2014 10:16:15 S: * 1 FETCH (UID 287 FLAGS (\Deleted \Seen \Recent))
07.10.2014 10:16:15 S: 00031 OK Store completed.
 
Also die Mails markiere ich ganz klassisch und dann drücke ich "entfernen" auf der Tastatur (somit wird sie in INBOX.trash verschoben) wenn sie gelöscht werden sollen oder ich verschiebe sie in den Ordner INBOX.archiv wenn ich diese Mail nicht mehr im Posteingang benötige.

Hilft dir das schon weiter?
Ist da vielleicht an meiner dovecot.conf auch etwas falsch? :o

Nachtrag1: Heute scheint der Wurm drin zu sein... mein privater Thunderbird und ein anderer Dovecot Server haben nun das gleiche Phänomen... :confused: Das Log File habe ich wieder angehängt.

Nachtrag2: Ich habe mal einen Screenshot gemacht und hoffe das man dort auch erkennt, das im Thunderbird eine Mail angezeigt wird und im Verzeichnis auf dem Server direkt ist diese Mail nicht vorhanden...
 

Attachments

Last edited by a moderator:
Hallo Leute, ich bin es mal wieder... Ich habe heute einfach mal den Thunderbird in der Portable auf meinem Client im Büro installiert und mein Notebook neben mich gestellt. Ich habe hier jetzt einen ganz neu installierten Thunderbird ohne Addons, Plugins etc.

Das IMAP Verzeichnis ist ganz frisch Synchronisiert. Wenn ich jetzt mit dem Notebook und dem PC in das INBOX Verzeichnis gehe sieht auch alles gleich aus.

So, nun habe ich auf meinem Notebook eine Mail als \Seen (+FLAG) markiert und einmal die Markierung entfernt (-FLAG)... im Thunderbird auf dem PC verändert sich nichts. Aber im Log File verändert sich sofort etwas.

Code:
##################################
# mark as unread
344[10c7bbc0]: ReadNextLine [stream=91f52a8 nb=37 needmore=0]
344[10c7bbc0]: 91d1800:imap.domain.de:S-INBOX:CreateNewLineFromSocket: * 23 FETCH (MODSEQ (9351) FLAGS ())

0[200f140]: proposed url = INBOX folder for connection INBOX has To Wait = FALSE can run = TRUE
344[10c7bbc0]: 91d1800:imap.domain.de:S-INBOX:SendData: DONE

344[10c7bbc0]: ReadNextLine [stream=91f52a8 nb=23 needmore=0]
344[10c7bbc0]: 91d1800:imap.domain.de:S-INBOX:CreateNewLineFromSocket: 16 OK Idle completed.

344[10c7bbc0]: 91d1800:imap.domain.de:S-INBOX:ProcessCurrentURL: entering
344[10c7bbc0]: 91d1800:imap.domain.de:S-INBOX:ProcessCurrentURL:imap://d%2Ewrede%40domain%2Ede@imap.domain.de:143/select%3E.INBOX:  = currentUrl
344[10c7bbc0]: 91d1800:imap.domain.de:S-INBOX:SendData: 17 noop

344[10c7bbc0]: ReadNextLine [stream=91f52a8 nb=23 needmore=0]
344[10c7bbc0]: 91d1800:imap.domain.de:S-INBOX:CreateNewLineFromSocket: 17 OK NOOP completed.

344[10c7bbc0]: 91d1800:imap.domain.de:S-INBOX:SendData: 18 getquotaroot "INBOX"

344[10c7bbc0]: ReadNextLine [stream=91f52a8 nb=17 needmore=0]
344[10c7bbc0]: 91d1800:imap.domain.de:S-INBOX:CreateNewLineFromSocket: 18 OK No quota.

344[10c7bbc0]: 91d1800:imap.domain.de:S-INBOX:SendData: 19 UID fetch 7524:* (FLAGS)

344[10c7bbc0]: ReadNextLine [stream=91f52a8 nb=37 needmore=0]
344[10c7bbc0]: 91d1800:imap.domain.de:S-INBOX:CreateNewLineFromSocket: * 26 FETCH (UID 7523 FLAGS (\Seen))

344[10c7bbc0]: ReadNextLine [stream=91f52a8 nb=24 needmore=0]
344[10c7bbc0]: 91d1800:imap.domain.de:S-INBOX:CreateNewLineFromSocket: 19 OK Fetch completed.

344[10c7bbc0]: 91d1800:imap.domain.de:S-INBOX:SendData: 20 IDLE

344[10c7bbc0]: ReadNextLine [stream=91f52a8 nb=10 needmore=0]
344[10c7bbc0]: 91d1800:imap.domain.de:S-INBOX:CreateNewLineFromSocket: + idling


##################################
# mark as read

344[10c7bbc0]: ReadNextLine [stream=91f52a8 nb=42 needmore=0]
344[10c7bbc0]: 91d1800:imap.domain.de:S-INBOX:CreateNewLineFromSocket: * 23 FETCH (MODSEQ (9352) FLAGS (\Seen))

0[200f140]: proposed url = INBOX folder for connection INBOX has To Wait = FALSE can run = TRUE
344[10c7bbc0]: 91d1800:imap.domain.de:S-INBOX:SendData: DONE

344[10c7bbc0]: ReadNextLine [stream=91f52a8 nb=23 needmore=0]
344[10c7bbc0]: 91d1800:imap.domain.de:S-INBOX:CreateNewLineFromSocket: 20 OK Idle completed.

344[10c7bbc0]: 91d1800:imap.domain.de:S-INBOX:ProcessCurrentURL: entering
344[10c7bbc0]: 91d1800:imap.domain.de:S-INBOX:ProcessCurrentURL:imap://d%2Ewrede%40domain%2Ede@imap.domain.de:143/select%3E.INBOX:  = currentUrl
344[10c7bbc0]: 91d1800:imap.domain.de:S-INBOX:SendData: 21 noop

344[10c7bbc0]: ReadNextLine [stream=91f52a8 nb=23 needmore=0]
344[10c7bbc0]: 91d1800:imap.domain.de:S-INBOX:CreateNewLineFromSocket: 21 OK NOOP completed.

344[10c7bbc0]: 91d1800:imap.domain.de:S-INBOX:SendData: 22 getquotaroot "INBOX"

344[10c7bbc0]: ReadNextLine [stream=91f52a8 nb=17 needmore=0]
344[10c7bbc0]: 91d1800:imap.domain.de:S-INBOX:CreateNewLineFromSocket: 22 OK No quota.

344[10c7bbc0]: 91d1800:imap.domain.de:S-INBOX:SendData: 23 UID fetch 7524:* (FLAGS)

344[10c7bbc0]: ReadNextLine [stream=91f52a8 nb=37 needmore=0]
344[10c7bbc0]: 91d1800:imap.domain.de:S-INBOX:CreateNewLineFromSocket: * 26 FETCH (UID 7523 FLAGS (\Seen))

344[10c7bbc0]: ReadNextLine [stream=91f52a8 nb=24 needmore=0]
344[10c7bbc0]: 91d1800:imap.domain.de:S-INBOX:CreateNewLineFromSocket: 23 OK Fetch completed.

344[10c7bbc0]: 91d1800:imap.domain.de:S-INBOX:SendData: 24 IDLE

344[10c7bbc0]: ReadNextLine [stream=91f52a8 nb=10 needmore=0]
344[10c7bbc0]: 91d1800:imap.domain.de:S-INBOX:CreateNewLineFromSocket: + idling
Diese Passagen sind hinzu gekommen, als ich auf dem Notebook etwas verändert habe und sich aber am PC nichts verändert hat.

Ich interpretiere das nun so, dass mein Notebook den FLAG Status an den Dovecot gesendet hat und dieser das gleich an den PC übergeben hat. Der PC hat dieses aber nicht wirklich verarbeitet, korrekt?! :rolleyes:

Gruß, Domi
 
Und ist auf dem PC bei Thunderbird in den Servereinstellungen des Kontos unter Erweitert... auch IDLE aktiviert?

Wenn ich auf dem anderen Rechner den Status des Mails auf Gelesen ändere, bekommt mein Thunderbird das gleich mit. (aktuelles Icedove 31.2.0-1~deb7u1 auf Debian 7 + Thunderbird 31.2 auf Win 7 als Festinstallation)
bei meinem Dovecot gehts ;)

//EDIT: :rolleyes: ach so, das Log ist Thunderbird. Übersehen.
 
Last edited by a moderator:
Back
Top