TS: Mailserver, IMAP, Dovecot, Dateisystem

Hello,

wie arbeitet ein IMAP-Server bezüglich der Dateiablagen?

Was ich will

es kommen auf meinem Mailserver Mails an. Die landen nach diversen Kontrollen per LMP (local mail protocol) zunächst in der MAILBOX des Adressaten im Postoffice.

Per IMAP greife ich mit den diversen Clients (auf Desktop, Laptop, Tablet, Smartphone) abwechselnd darauf zu. Gelegentlich werden Mails per IMAP in eines der Archive verschoben.

Auf diese Archive möchte ich nun auf dem Mailserver über das Dateisystem zugreifen und durch die Mails automatisch Prozesse anstoßen. Wenn sie erfolgreich abgearbeitet wurden, sollen sie in Archive.~.processed landen. Per IMAP kann man sie dann nochmal mit einem Client kontrollieren und ggf. nochmals verschieben oder löschen.

Tests bisher

Ich habe das Verschieben per Dateisystem schon mal getestet und konnte bisher keinen Knoten feststellen. Die Mails sind wie erwartet im anderen IMAP-Ordner aufgetaucht.

Nun frage ich mich aber, ob ich vielleicht doch etwas durcheinander bringe, weil eventuell doch irgendwelche Zähler oder Signaturen updated werden müssten?

Wer weiß hier mehr?

Wo kann ich über Die Funktionsweise (hier vermutlich DOVECOT) bezüglich meiner Eingriffe in die Ablagen etwas mehr erfahren?

Glück Auf
Tom vom Berg

--
Es gibt nichts Gutes, außer man tut es!
Das Leben selbst ist der Sinn.

akzeptierte Antworten

  1. Hallo Tom,

    wie arbeitet ein IMAP-Server bezüglich der Dateiablagen?

    das dürfte von Server zu Server vermutlich sehr unterschiedlich sein. Aber du erwähnst konkret Dovecot, und mit dem habe ich auch über mehrere Jahre sehr ausgiebige Erfahrungen gesammelt.

    es kommen auf meinem Mailserver Mails an. Die landen nach diversen Kontrollen per LMP (local mail protocol) zunächst in der MAILBOX des Adressaten im Postoffice.

    Per IMAP greife ich mit den diversen Clients (auf Desktop, Laptop, Tablet, Smartphone) abwechselnd darauf zu. Gelegentlich werden Mails per IMAP in eines der Archive verschoben.

    Bis hierher alles ganz normal.

    Auf diese Archive möchte ich nun auf dem Mailserver über das Dateisystem zugreifen und durch die Mails automatisch Prozesse anstoßen. Wenn sie erfolgreich abgearbeitet wurden, sollen sie in Archive.~.processed landen. Per IMAP kann man sie dann nochmal mit einem Client kontrollieren und ggf. nochmals verschieben oder löschen.

    Sollte auch kein Problem sein. Einen Punkt sollte man aber beachten: Dovecot legt in jedem Mail-Ordner noch die Unterverzeichnisse .new, .cur (und noch ein drittes, das mit im Moment entfallen ist) an. Das korreliert dann mit neuen, ungelesenen und gelesenen Nachrichten.

    Ich habe das Verschieben per Dateisystem schon mal getestet und konnte bisher keinen Knoten feststellen. Die Mails sind wie erwartet im anderen IMAP-Ordner aufgetaucht.

    Works as designed. Dovecot ist so gemeint, dass Mails durch einen MDA (bei mir war's damals das Gespann aus fetchmail und procmail) in das .new-Verzeichnis (IIRC!) des gewünschten Mail-Ordners geworfen werden. Dovecot überwacht diese Verzeichnisse selbst auf Änderungen und bildet die sofort auf die IMAP-Seite ab.

    Nun frage ich mich aber, ob ich vielleicht doch etwas durcheinander bringe, weil eventuell doch irgendwelche Zähler oder Signaturen updated werden müssten?

    Nope. Das macht Dovecot schön selbst.

    Wo kann ich über Die Funktionsweise (hier vermutlich DOVECOT) bezüglich meiner Eingriffe in die Ablagen etwas mehr erfahren?

    Puh. Da habe ich im Moment nichts griffbereit. Ich erinnere mich aber, dass ich seinerzeit (so etwa 2010 .. 2011) jede Menge Info-Material über Dovecot gefunden habe.

    Good luck,
     Martin

    --
    Computer müssen weiblich sein: Eigensinnig, schwer zu durchschauen, immer für Überraschungen gut - aber man möchte sie nicht missen.
    1. Hello,

      bin seit gestern Nachmittag wieder @home. Da musste ich heute gleich schon mal spielen und habe mir damit fast das benutzte Mailkonto zerschossen. Also lesende Zugriffe, kein Problem. Aber verschieben auf Dateisystemebene, also vorbei am Dovecot, klappt nicht ohne Probleme.

      Da muss ich mich jetzt also durch die IMAP-Funktionen von PHP quälen, damit ich den ordentlichen Weg über den Mailserver nehmen kann. Es werden Indexe geführt und so weiter...

      Glück Auf
      Tom vom Berg

      --
      Es gibt nichts Gutes, außer man tut es!
      Das Leben selbst ist der Sinn.
      1. Hi,

        Also lesende Zugriffe, kein Problem. Aber verschieben auf Dateisystemebene, also vorbei am Dovecot, klappt nicht ohne Probleme.

        welches Speicherformat verwendest du? - Mit dem mbox-Format, also eine große Datei pro Ordner, die alle Mails enthält, wird dein Vorhaben wohl schwierig. Aber mit dem Format "Eine Datei je Message" habe ich damals keine Probleme gehabt, auch auf Filesystemebene in Dovecots Mail-Speicher rumzumachen.

        Schwierig ist nur, die gewünschten Message-Dateien zu erkennen, weil Dovecot die anscheinend mit zufällig generierten Namen ablegt.

        Da muss ich mich jetzt also durch die IMAP-Funktionen von PHP quälen, damit ich den ordentlichen Weg über den Mailserver nehmen kann. Es werden Indexe geführt und so weiter...

        Kann ich aus meiner Erinnerung nicht bestätigen. Aber das ist, wie gesagt, auch ein paar Jahre her.

        Ciao,
         Martin

        --
        F: Was ist weiß und springt im Wald herum?
        A: Ein Jumpignon.
        1. Hello,

          ich habe schon bei der Einrichtung auf ein File pro Mail gesetzt. Das ist also nicht das Problem. Und wiederfinden funktioniert mit grep hervorragend.

          Außerdem werden die Files auch schon manuell vorsortiert. Es müssen dann sowieso alle, die sich in einem Archivordner befinden, abgearbeitet werden.

          Glück Auf
          Tom vom Berg

          --
          Es gibt nichts Gutes, außer man tut es!
          Das Leben selbst ist der Sinn.