'Kopie aller Nachrichten auf dem Server belassen'

Hallo,

mich interessiert, wie die POP3-Option „Kopie aller Nachrichten auf dem Server belassen“ technisch funktioniert. Insbesondere geht es mir darum, wo (Client, Server) und wie (in einer Datei, durch ein Flag, etc.) gespeichtert wird, welche Nachrichten bereits von welchem Client heruntergeladen wurden. Denn würde das nicht gespeichert, würden ja sämtliche Nachrichten bei jedem E-Mail-Abruf erneut heruntergeladen.

Ein Link zu einer Webseite, auf der das ausführlich erklärt wird, wäre perfekt.

Ich wünsche euch ein schönes, sonniges Wochenende!

Liebe Grüße
Hugo

mich interessiert, wie die POP3-Option „Kopie aller
Nachrichten auf dem Server belassen“ technisch funktioniert.
Insbesondere geht es mir darum, wo (Client, Server) und wie
(in einer Datei, durch ein Flag, etc.) gespeichtert wird,

Das ist abhängig vom verwendeten Server. Im einfachsten Fall sind die Mails dort als Textdateien im Dateisystem gespeichert und der Dateiname enthält ein Flag (andere Namenserweiterung o. ä.), das beim Abrufen umgesetzt wird.

Gruß

Danke für deine Antwort, aber ich hätte es gern wesentlich genauer.

hallo hugo,

das läuft mit einem email-client in etwa so ab:

login
anfordern einer mail-list
erhalten einer mail-liste
aufgrund der mail-liste werden die mails einzel abgerufen
mit einem delete-befehl wird die mail gelöscht
kein delete-befehl = nicht löschen

gruß
klaus

Danke für deinen Beitrag, Klaus, aber er beantwortet leider meine Frage nicht.

Danke für deine Antwort, aber ich hätte es gern wesentlich
genauer.

Auf deine Larifari-Frage? Extra für dich nochmal: Das ist abhängig vom verwendeten Server.

Danke für deine Antwort, aber ich hätte es gern wesentlich
genauer.

Auf deine Larifari-Frage? Extra für dich nochmal: Das ist
abhängig vom verwendeten Server.

Warum denn gleich so ungehalten? Was ist an meiner Frage „larifari“? Brauchst du konkretere Informationen für eine zufriedenstellende Antwort, dann sag mir bitte, welche!?

Angenommen, man ruft die E-Mails via POP3 von zwei verschiedenen Rechnern ab und belässt sie jeweils auf dem Server. Zuerst werden die E-Mails von Rechner 1 abgeholt. Bei erneutem Abruf des Postfachs von Rechner 1 werden die bereits runtergeladenen E-Mails nicht erneut übertragen, obwohl keine Synchronisation wie bei IMAP stattfindet. Wird das Postfach hingegen von Rechner 2 zum ersten Mal abgerufen, werden alle Nachrichten heruntergeladen. Woran erkennt der Server, welcher Rechner schon welche Nachrichten heruntergeladen hat?

hallo hugo,

Danke für deinen Beitrag, Klaus, aber er beantwortet leider
meine Frage nicht.

warum nicht?
war wohl nicht ausführlich genug :smile:)
na gut:

es gibt keine flags mit/an den mail-sever
das muss der client selbst regeln. und das kann der client anhand der mail-liste.
beim ersten mail-holen, bekommt er eine liste mit 10 mails. er läd diese runter. beim zweiten mail-holen bekommt er eine liste mit 15 mails, er läd mail 11-15 runter … etc.
intern merkt er sich die anzahl auf der liste und als löschoption das datum.

auch sind es keine „kopien“ auf dem server, sondern die nicht gelöschten Originale.

die befehle des pop3:
USER PASS QUIT STAT LIST RETR DELE NOOP RSET

gruß
klaus

Woran erkennt der Server, welcher
Rechner schon welche Nachrichten heruntergeladen hat?

Sorry, was ich vorhin geschrieben habe, war Unsinn. Der Server merkt sich genau garnichts, das muss allein der Client handhaben. Allerdings hat jede Mail auf dem Server eine eindeutige ID, die er dem Client als Antwort auf den UIDL-Befehl sendet. Der Client führt eine Liste dieser IDs und ruft eine Mail nur dann ab, wenn deren ID in seiner Liste noch nicht vorhanden ist.

Gruß

Hallo Klaus,

besten Dank für deine erneute Antwort. :smile:

warum nicht?
war wohl nicht ausführlich genug :smile:)

Ja, ich konnte damit noch nicht so viel anfangen.

na gut:

es gibt keine flags mit/an den mail-sever
das muss der client selbst regeln. und das kann der client
anhand der mail-liste.
beim ersten mail-holen, bekommt er eine liste mit 10 mails. er
läd diese runter. beim zweiten mail-holen bekommt er eine
liste mit 15 mails, er läd mail 11-15 runter … etc.
intern merkt er sich die anzahl auf der liste

Das heißt, der Client muss sich eigentlich nur die Anzahl der E-Mails merken, die er bereits heruntergeladen hat? Wenn man dann via Webmail eine der bereits heruntergeladenen E-Mails löscht, gerät dann das Ganze aus dem Ruder?

und als
löschoption das datum.

Das verstehe ich noch nicht.

auch sind es keine „kopien“ auf dem server, sondern die nicht
gelöschten Originale.

Das stimmt natürlich. Die Formulierung mit „Kopie“ findet man halt leider häufig. (So war es in diesem Fall leichter zu schildern, was gemeint ist.)

die befehle des pop3:
USER PASS QUIT STAT LIST RETR DELE NOOP RSET

Gut zu wissen. :smile:

Schönen Abend noch!

Liebe Grüße
Hugo

Hallo Hugo,

Das heißt, der Client muss sich eigentlich nur die Anzahl der
E-Mails merken, die er bereits heruntergeladen hat?

nicht unbedingt… eigentlich nur, wenn die lösch-option aktiv ist.

wenn der client den befehl STAT vewendet, bekommt er eine liste der „ungelesenen“ mails.

Wenn man
dann via Webmail eine der bereits heruntergeladenen E-Mails
löscht, gerät dann das Ganze aus dem Ruder?

das wäre in der tat mal ein test wert :smile:)

der client kann, um ganz sicher zu gehen, natürlich weitere daten aus der mail speichern (delivery-date, from, ID).
so dass er nicht auf die idee kommt, einfach nach der listen-nummer zu löschen, sondern testet auch, ob die prüfdaten mit dem inhalt der mail übereinstimmen.

und als
löschoption das datum.

Das verstehe ich noch nicht.

naja … wenn man eingestellt hat, dass die mails z.b. nach 5 tagen gelöscht werden sollen.

gruß
Klaus

In Ordnung, danke sehr!

Hallo Klaus,

danke für die schnelle Antwort.

nicht unbedingt… eigentlich nur, wenn die lösch-option aktiv
ist.

wenn der client den befehl STAT vewendet, bekommt er eine
liste der „ungelesenen“ mails.

Sag mal, woher weißt du das alles so genau? Hast du vielleicht doch noch einen Link für mich?

das wäre in der tat mal ein test wert :smile:)

der client kann, um ganz sicher zu gehen, natürlich weitere
daten aus der mail speichern (delivery-date, from, ID).
so dass er nicht auf die idee kommt, einfach nach der
listen-nummer zu löschen, sondern testet auch, ob die
prüfdaten mit dem inhalt der mail übereinstimmen.

Ok. Das macht also jeder Client wie er möchte, da gibt’s keinen Standard?

naja … wenn man eingestellt hat, dass die mails z.b. nach 5
tagen gelöscht werden sollen.

Ach so. :smile:

Liebe Grüße
Hugo

wenn der client den befehl STAT vewendet, bekommt er eine
liste der „ungelesenen“ mails.

Genau genommen gibt der STAT-Befehl lediglich die Anzahl der vorliegenden (nicht der ungelesenen) Mails und deren Gesamtgröße an. Zum Auflisten dient der LIST-Befehl, der allerdings auch nur die gegenwärtige Sequenz-Nr. und Größe der Mail angibt.

Wenn man
dann via Webmail eine der bereits heruntergeladenen E-Mails
löscht, gerät dann das Ganze aus dem Ruder?

Bei minimalen Serverimplementationen theoretisch denkbar, dürfte in der Praxis nicht vorkommen.

der client kann, um ganz sicher zu gehen, natürlich weitere
daten aus der mail speichern (delivery-date, from, ID).
so dass er nicht auf die idee kommt, einfach nach der
listen-nummer zu löschen, sondern testet auch, ob die
prüfdaten mit dem inhalt der mail übereinstimmen.

Braucht er nicht, wenn der Server den UIDL-Befehl versteht, der eine eindeutige Kennung der Mail zurückliefert. Das kann man bei aktuellen Servern voraussetzen. Ohne diesen Befehl macht eine serverseitige Speicherung bei pop3 keinen Sinn, da sonst für eine Zuordnung einer bestimmten Mailkopie beim Client zu einer Sequenz-ID auf dem Server jedesmal jede einzelne Mail komplett abgerufen werden müsste.

Gruß

Hallo Hugo,

Sag mal, woher weißt du das alles so genau? Hast du vielleicht
doch noch einen Link für mich?

ich habe mir mal was in perl geschrieben, das mir die mails nach bestimmten begriffen durchsucht hat.
daher weiß ich zwar, was so ein pop3-server macht
aber nicht, wie es die mailprogramme in diesem konkreten fall machen.

links über pop3-mailserver und deren befehle findest du mit google.
wie email-clients die daten im einzelnen verwalten wohl nicht.
bei outlook tippe ich auf eine weitere dbx-datei ;->>

Ok. Das macht also jeder Client wie er möchte, da gibt’s
keinen Standard?

ein standard wird vom pop3-protokoll vorgegeben und das beinhaltet die genannten befehle.
und ein mail-client wird auch wohl so programmiert, dass bei allen möglichkeiten/wahrscheinlichkeiten keine mail verloren geht.

mit mehr möglichkeiten ausgestattet ist das IMAP-protokoll.
da bleiben die mails auf dem server und du kannst sie jederzeit und immer wieder abrufen. zum löschen müssen sie markiert werden.
also so, wie du die runtergeladenen mails eines pop3-kontos in deinem client verwaltest oder wie bei einem webmailer.

gruß
Klaus

Hallo Herrmann,

vielen Dank für die zusätzlichen Informationen.

Ach an dich die Frage: woher weißt du das alles? Hast du eine Literaturempfehlung für mich?

Noch einen schönen Abend!

Liebe Grüße
Hugo

Hallo Klaus,

danke für deine Antwort.

ich habe mir mal was in perl geschrieben, das mir die mails
nach bestimmten begriffen durchsucht hat.
daher weiß ich zwar, was so ein pop3-server macht
aber nicht, wie es die mailprogramme in diesem konkreten fall
machen.

Ah, ok.

links über pop3-mailserver und deren befehle findest du mit
google.

Jo, klar.

wie email-clients die daten im einzelnen verwalten wohl nicht.
bei outlook tippe ich auf eine weitere dbx-datei ;->>

Du meinst bei Outlook Express. Das könnte natürlich sein.

ein standard wird vom pop3-protokoll vorgegeben und das
beinhaltet die genannten befehle.
und ein mail-client wird auch wohl so programmiert, dass bei
allen möglichkeiten/wahrscheinlichkeiten keine mail verloren
geht.

Na, hoffentlich! :smile:

mit mehr möglichkeiten ausgestattet ist das IMAP-protokoll.
da bleiben die mails auf dem server und du kannst sie
jederzeit und immer wieder abrufen. zum löschen müssen sie
markiert werden.
also so, wie du die runtergeladenen mails eines pop3-kontos in
deinem client verwaltest oder wie bei einem webmailer.

Ja, das war mir bekannt. Aber danke!

Gute Nacht!

Liebe Grüße
Hugo

Ach an dich die Frage: woher weißt du das alles? Hast du eine
Literaturempfehlung für mich?

In der Wikipedia http://de.wikipedia.org/wiki/Post_Office_Protocol ist der Sprachumfang von pop3 aufgelistet. Im Grunde genommen ist der schon selbsterklärend. Dort sind auch die relevanten RFCs gelinkt.

Du kannst, wie in der Wikipedia beschrieben, über Telnet mit einem Mailserver kommunizieren, und wenn du auf diese Weise das erste Mal eine Mail erfolgreich abgeholt hast, bist du schon fast ein Experte für pop3. Ein Mailclient macht im Grunde auch nichts anderes.

HTH

Hallo Herrmann,

entschuldige bitte die verspätete Antwort.

In der Wikipedia
http://de.wikipedia.org/wiki/Post_Office_Protocol ist der
Sprachumfang von pop3 aufgelistet. Im Grunde genommen ist der
schon selbsterklärend. Dort sind auch die relevanten RFCs
gelinkt.

Du kannst, wie in der Wikipedia beschrieben, über Telnet mit
einem Mailserver kommunizieren, und wenn du auf diese Weise
das erste Mal eine Mail erfolgreich abgeholt hast, bist du
schon fast ein Experte für pop3. Ein Mailclient macht im
Grunde auch nichts anderes.

HTH

Ganz herzlichen Dank, das hilft mir sehr.

Alles Gute!

Liebe Grüße
Hugo