1. Möchtest Du unser Team im Android OS-Bereich unterstützen? Details dazu findest du hier!
  2. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

[K9] Synchronisation zwischen K9 und Server bei Mailstatus

Dieses Thema im Forum "Kommunikation" wurde erstellt von Ich bins, 17.02.2012.

  1. Ich bins, 17.02.2012 #1
    Ich bins

    Ich bins Threadstarter Neuer Benutzer

    Beiträge:
    10
    Erhaltene Danke:
    0
    Registriert seit:
    16.06.2010
    Ich habe das Problem, daß K9 nicht den Status einer Mail an den Server synchronisiert. Wenn ich eine E-Mail in K9 öffne, wird diese in K9 als "gelesen" markiert. Mit der nächsten Synchronisierung mittels Intervall, wird diese Mail wieder als "neu" markiert. Um zu sehen, ob K9 den Status einer solchen Mail auch auf dem Server ändert, habe ich - nachdem ich in K9 eine Mail als "gelesen" markiert habe - in meinem Webaccount nachgesehen. Da hat sich nichts geändert und die Mail steht im Webaccount nachwievor auf "neu". Ganz extrem wird es auch mit Mails, die ich innerhalb von K9 lösche. Dann werden mir diese zwar auf dem K9 nicht mehr angezeigt, jedoch im Webaccount sind dieser nachwievor in dem entsprechenden Verzeichnis vorhanden. Ich bin mit meinem Latein am Ende. Gibt es irgendwas, wie ich K9 dazu bewegen kann, den Status einer Mail auch an den Server zu kommunizieren? Ich verwende K9 in der Version 4.006
     
  2. steeven, 17.02.2012 #2
    steeven

    steeven Android-Lexikon

    Beiträge:
    1,450
    Erhaltene Danke:
    152
    Registriert seit:
    12.06.2011
    Phone:
    LG G2
    So, bevor wir in die falsche Richtung suchen, nur mal als Grundlage: Du greifst mit K9 über IMAP auf das Konto zu, nicht über POP3?
     
  3. Ich bins, 17.02.2012 #3
    Ich bins

    Ich bins Threadstarter Neuer Benutzer

    Beiträge:
    10
    Erhaltene Danke:
    0
    Registriert seit:
    16.06.2010
    Genau, ich greife mittels IMAP auf das Konto zu. Heute Nachmittag habe ich nochmal was ausprobiert. Da K9 seit einiger Zeit das Sichern der Kontoeinstellungen beherrscht, habe ich mal alles gelöscht und anschließend die Einstellungen neu importiert. Danach hat K9 einen Abgleich mit dem Server gemacht und nun funktioniert es wieder. Es scheint so zu sein, daß - unter bisher nicht bekannten Umständen - die interne K9-Datenbank zerschossen wird.
     
  4. wernerg, 18.02.2012 #4
    wernerg

    wernerg Android-Hilfe.de Mitglied

    Beiträge:
    145
    Erhaltene Danke:
    4
    Registriert seit:
    16.11.2010
    Und mit diesem Einstellungsexport und Wiederumport kann ich alle eingerichteten Konten löschen und anschließend (inkl. Passwörter) wiederherstellen?

    Gruß - gesendet mit Tapatalk
     
  5. Ich bins, 18.02.2012 #5
    Ich bins

    Ich bins Threadstarter Neuer Benutzer

    Beiträge:
    10
    Erhaltene Danke:
    0
    Registriert seit:
    16.06.2010
    Die Kennwörter müssen neu eingegeben werden, wenn beim Wiederherstellen alle Kontoeinstellungen wiederhergestellt werden. Löscht man hingegen nur die Maildatenbank und stellt dann alles wieder her, dann ist die Angabe der Kennwörter nicht erforderlich.
     
  6. ottosykora, 19.02.2012 #6
    ottosykora

    ottosykora Gast

    also das sind doch die Grundfunktionen des IMAP und genau so soll es auch sein.

    Wenn ein Client ein Mail liest, dann ist es auf dem Server immer noch neu. Das muss so sein, weil es dann vielleicht ein andere Client lesen soll und der muss es auch als neu bekommen.
    IMAP ist dafür da, dass mehrere Mailclients unabhängig die Mails lesen können und löschen können aber sich nicht gegenseitig in die Quere kommen. Das muss so sein.

    Das gleiche gilt für löschen. Lokales löschen darf ein Mail auf dem Server nicht löschen, sonst ist das ganze IMAP Verfahren sinnlos.
    Löschen gilt bei IMAP immer nur lokal.

    Bei IMAP gibt es dann noch die Funktion 'purge' und diese löscht dann auch vom Server. Das ist dann aber auch eine andere Löschfunktion in dem Mailprogram und es muss so implementiert sein, dass diese Funktion extra aufgerufen werden muss und nicht mit der normalen 'delete' Funktion gekoppelt werden darf.
     
  7. steeven, 19.02.2012 #7
    steeven

    steeven Android-Lexikon

    Beiträge:
    1,450
    Erhaltene Danke:
    152
    Registriert seit:
    12.06.2011
    Phone:
    LG G2
    @ottosykora
    Also irgendwie verwechselst du hier was. In der Regel gehört ein E-Mail Konto/Adresse ja zu einer Person. Warum sollte es dann Sinn machen, dass man an jedem Client den man benutzt jede einzelne Mail extra lesen oder löschen muss? Wenn ich am Handy eine Mail lese und anschließend lösche, erwarte ich, dass mir der PC die nicht nochmal presentiert. Und genau das soll gerade IMAP vereinfachen, indem alles grundsätzlich Server-Seitig passiert und eben nicht nur Lokal.
     
  8. ottosykora, 19.02.2012 #8
    ottosykora

    ottosykora Gast


    IMAP wurde erfunden um eben ein Mail an mehreren Clients lesen zu können und zwar unabhängig voneinander. Das hat nicht mit Personen zu tun, aber mit Bedürfnissen der User und darum wurde es so spezifiziert.
    Leute wollten unterwegs mit einem Mobilen Gerät arbeiten, aber wenn zurück im Büro wieder alles noch da haben auch wenn es auf dem mobilen Gerät gelöscht wurde.
    Darum gibt es in IMAP zwei getrennte Löschbefehle, 'delete' und 'purge' und bei bewirken etwas ganz anderes.
    Diese Befehle werden von jedem Mailclient , welches IMAP erlaubt unterstüzt. Es sind Grundfunktionen des IMAP.
    'delete' markiert den Mail auf dem Client so, dass es nicht mehr angezeigt wird, also für den Client ist es gelöscht.
    In einigen Clients am PC werden solche Mails sogar nur durchgestrichen angezeigt, werden also weiterhin optisch halbwegs sichtbar sein.

    Für den anderen Client, also den dann im Büro oder so, erscheint das Mail ganz normal. Auch dieser kann sie 'delete' und entweder erscheint es dann nicht lokal oder eben durchgestrichen oder sonst speziell markiert.

    Erst wenn einer der Clients den Befehl 'purge' ausgibt, dann kann das Mail auch vom Server gelöscht werden.

    Tip: versuche es mal mit etwas wie Outlook, du wirst überrascht was dich dort erwartet ;-)



    ---

    habe gerade gesehen : 'purge' ist es im Klartext bei Microsoft, in dem IMAP Protokol heisst der Befehl 'expunge'

    Alles kann man nachlesen unter der RFC, aber vielleicht nur bis zum 2.3.2 scrollen, da steht es wegen den Flaggs.

    http://www.faqs.org/rfcs/rfc3501.html

    2.3.2. Flags Message Attribute


    Eine Mail bekommt demnach mit dem löschen einen Flag DELETED und man kann es auch wieder als UNDELETED markieren.
    Wenn als DELETED markiert, kann es dann mit dem Kommando EXPUNGE auch dauerhaft von der Mailbox löschen.


    ansonsten ist auch hier erklärt, dass es sich bei IMAP um eine Multi User Angelegenheit handelt.


    und here habe ich es sogar auf deutsch gefunden:
    http://www.normes-internet.com/normes.php?rfc=rfc3501&lang=de

    ist jedoch wohl Computer übersetzt und daher fast nicht verständlich


    http://de.wikipedia.org/wiki/Internet_Message_Access_Protocol

    http://www.javvin.com/protocolIMAP.html

    und so weiter im net
     
    Zuletzt von einem Moderator bearbeitet: 19.02.2012
  9. Ich bins, 19.02.2012 #9
    Ich bins

    Ich bins Threadstarter Neuer Benutzer

    Beiträge:
    10
    Erhaltene Danke:
    0
    Registriert seit:
    16.06.2010
    Da bin ich anderer Meinung. Wenn ich in einem Mailclient meine E-Mails lese, dann erwarte ich, daß die in anderen Mailclients, die auf dieses Konto zugreifen, ebenfalls als "gelesen" markiert sind.
    Welchen Sinn hätte es, wenn ich die Mails an allen Clients nochmals auf "gelesen" setzen müßte?

    Das Problem bei K9 habe ich aber schon öferts gehabt, daß da anscheinend die lokale Maildatenbank zerstört wird. Ich habe eine Vermutung, daß das daher kommt, wenn man mit K9 gleichzeitig mehrere Zugriffe startet, die schreibend in der lokalen Maildatenbank was machen. Das ist beispielsweise, etwas zum Löschen markieren und während gelöscht wird, Nachrichten manuell vom Server beziehen.
     
  10. steeven, 19.02.2012 #10
    steeven

    steeven Android-Lexikon

    Beiträge:
    1,450
    Erhaltene Danke:
    152
    Registriert seit:
    12.06.2011
    Phone:
    LG G2
    @ottosykora
    Also ich schließe mich da "ichbins" an und ich denke 99,9% der User auch. Insofern ist deine Aussage, "das soll so sein", wohl nicht ganz richtig. Wenn ich mein Postfach so benutze wie du es beschreibst brauche ich kein IMAP, das geht auch mit POP3. Aber egal, wenn du es so haben willst, kannst du es auch gern so benutzen. Das System ist ja flexibel genug. Das Wichtigste: Bei "ichbins" funktioniert wieder Alles wie gewollt. Und Andere mit dem gleichen Problem finden hier über die SUFU die Lösung.
    Deshalb sollten wir den OT hier beenden. Sonst gibt´s wieder Ärger.
     
  11. ottosykora, 19.02.2012 #11
    ottosykora

    ottosykora Gast

    also ich will mich nicht mit jemandem streiten, einfach die Spezifikationen von IMAP lesen und da steht alles ganz genau drin. So ist es und nicht anders.
    Ein Author von einer Server Software und einer Client Software hat sich an die Vorgaben zu halten. Tut er das nicht stört er damit den weltweiten Mailverkehr.
    Darum sind diese Funktionen implementiert und müssen genau so funktionieren wie in den Vorgaben beschrieben ist.

    Wenn man nur einen Client benutzen will und der alles machen kann und die Mails direkt löschen soll, dann muss man eben POP benutzen und nicht IMAP das explizit nur für den Fall konstruiert wurde damit es von mehreren Clients unabhängig verwendet werden kann.

    Man kann wohl mit einem IMAP Client die Mails löschen, aber man muss dann eben die zusätzliche Funktion freigeben, also den EXPUNGE Befehl. Oft steht da irggendwo in dem Mailcleint 'Mails auch vom Server löschen' oder sonst was die Leute verstehen. Von alleine darf es keine Mailclient machen sonst ist es nicht mit einem IMAP Protokol kompatibel.

    Nachzulesen in meinen vorherigen Links, kann da noch 50 weitere Links pasten, aber google hat wohl jeder schon mal bedient.



    Hier wie es bei MS (IMAP komatible) gemacht wird:
    http://office.microsoft.com/de-ch/o...en-markierten-imap-elementen-HP010080420.aspx



    sonstige Anletungen:
    http://kundenservice.freenet.de/hil...loeschen-outlook2000/imap-loeschen/index.html


    http://support.google.com/mail/bin/answer.py?hl=de&answer=78755


    http://www.pctipp.ch/praxishilfe/kummerkasten/internet/56649/mails_aus_imap_konto_loeschen.html


    http://www.macwelt.de/artikel/_Tipps/360637/nachrichten_vom_imap_konto_in_mail_loeschen/1



    Und dann habe ich schnell noch den k9 angeschaut:
    whau! da gibt es tatsächlich noch den Menupunkt Bereinigen(Expunge) , ein extra Knopf dazu, warum haben die wohl so was eingebaut?
     
    Zuletzt von einem Moderator bearbeitet: 19.02.2012
  12. Ich bins, 21.02.2012 #12
    Ich bins

    Ich bins Threadstarter Neuer Benutzer

    Beiträge:
    10
    Erhaltene Danke:
    0
    Registriert seit:
    16.06.2010
    Es ging mir nicht ums Löschen.
     
  13. Boson, 21.02.2012 #13
    Boson

    Boson Neuer Benutzer

    Beiträge:
    17
    Erhaltene Danke:
    10
    Registriert seit:
    16.01.2012
    Hallo,

    Spezifikationen wie die RFCs sind das eine, der jeweilige Anwendungsfall das andere.

    Wie Du bereits geschrieben hast, ist ja der normale Anwendungsfall, daß bei einem Postfach nur 1 Nutzer einen entsprechenden Zugang hat. Liest man also mit einem Mailclient eine Mail, so sollte diese "gelesen" Kennzeichnung also auch beispielsweise im Webmail-Interface sichtbar sein. Die hier erwähnte RFC bzgl. IMAP beschreibt den normalerweise verwendeten Befehl zum Lesen einer Mail. Bei diesem Fetch-Befehl wird implizit das Gelesen-Flag gesetzt. Liest Du also mit diesem "internen" Befehl Deine Email und schaust Dir Dein Postfach hinterher per Web-Interface an, so ist diese Mail auch dort als "gelesen" markiert.

    Nun gibt es aber auch spezielle Anwendungsfälle, wo man dieses Verhalten nicht unbedingt so möchte (bei IMAP ist es z.B. auch möglich, Zugriffsrechte zu setzen, so daß mehrere Nutzer auf eine Mailbox zugreifen können). Dann benutzt man einfach einen anderen Fetch-Befehl, der dieses "Seen"-Flag nicht automatisch setzt oder man setzt das Flag per weiteren Befehl anschließend wieder zurück.

    Beides ist natürlich RFC-konform. Wie es gewünscht ist, hängt eben vom Anwendungsfall ab. Und da wohl die meisten Benutzer (inkl. mir) den ersten Fall als Normalfall ansehen, haben die Sw-Entwickler ihre Apps eben so programmiert.

    Also mein K9 / Kaiten (und andere Programme auf dem PC auch) verhält sich eigentlich so, wie Du es haben wolltest (und nun wieder hast), d.h. mit K9 gelesene Mails sind auf dem Server ebenfalls "gelesen". Das ist also der "Normalzustand" für unseren Use Case. Du wirst wohl wirklich ein internes K9-Problem gehabt haben (oder es liegt noch zusätzlich an dem Zusammenspiel mit Deinem Mailserver).

    Im übertragenen Sinne gilt dies auch für das "Löschen". Man kann ja bei K9 / Kaiten einstellen, ob er automatisch beim lokalen Löschen oder Verschieben einer Mail auch noch den entsprechenden IMAP "Löschbefehl" zusätzlich zum Server schickt. Auch dieses Verhalten widerspricht natürlich keiner RFC.

    Viele Grüße,
    Boson
     
    Zuletzt bearbeitet: 21.02.2012
    Ich bins bedankt sich.

Diese Seite empfehlen