Am Die, 11 Nov 2003, schrieb David Haller:
Auf meine Mailbox kann ich jetzt endlich nach vielen Diskussionen mit den Admins von außen via pop zugreifen, dass erledigt ein fetchmaildaemon auf einem weit entfernten Rechner alle 100s mit der option --keep und --uidl. Es könnten weitere entfernte Rechner hinzukommen, die es auch so machen. Soweit so gut. Jetzt gibt es aber einen Rechner, der mit seinem fetchmail die Mailbox final lesen und entleeren soll. Wenn dieser jetzt alle mails flusht, kann es passieren, dass Mails final gelöscht werden, bevor die entfernten daemonen die Mail holen konnten. Leider kann ich den Mailserver (MSExchange) in keinster Weise konfigurieren und dort auch keine Mailweiterleitung zu einer besser konfigurierbaren pop3-Mailbox einrichten.
Dann hast du ein grundsaetzliches Problem, das geht prinzipbedingt nicht mit POP3. Wie sollen die verschiedenen Clients denn auch miteinander absprechen, wer jetzt schon welche Mails geholt hat?
Warum sollte das nötig sein? Wenn jeder client holt aber nicht löscht bis auf einen, der so stark zeitversetzt nach Holen löscht, dass sichergestellt ist, dass alle anderen clients zwischenzeitlich geholt haben, braucht es doch keine Absprache.
Eine Idee waere vielleicht, wenn du eine Art "zentrale" DB mit den UIDLs (z.B.) fuehrst und jeweils vermerktst, welcher Client welche Mails schon geholt hat...
Viel zu aufwendig. Es reicht doch, wenn die sichergestellt ist, dass die Lebensdauer einer Mail auf dem Server nur länger ist als die wiedrholrate des Holens jedes einzelnen Clients.
Evtl. koennte man z.B. auch fetchmail durch ein perl-script (mit Net::*) ersetzen, das die Mails holt (mit keep/uidl oder sonstwie) und dann die geholten Mails (UIDLs) an den zentralen Server meldet. Oder man liest die UIDLs, die fetchmail speichert (wo? wie? keine Ahnung!) und meldet diese dann "irgendwo zentral"... Das waere wohl einfacher...
Im Prinzip warest du aber wohl mit IMAP besser bedient.
Mit IMAP habe ich mich noch nicht beschäftigt, aber auch hier wäre ja das Problem, den Mails eine Lebensdauer zu geben. cu Hannes