Domino 9 und frühere Versionen > ND8: Administration & Userprobleme
Eindeutige Kennung eines erhaltenen Notes Mail
Tiger955:
Leider konnte ich keine Info finden, WELCHE ID oder sonstiger einmaliger Wert eine erhaltene Notes-Mail kennzeichnet, die noch dazu automatisch immer im gleichen Order der gleichen Mailbox landen.
Ich bin dann auf das Feld $MessageID gestoßen, welches ich als DAS unique Feld erhofft hatte.
Zu meiner großen Verwunderung gibt es aber in diesem Feld Duplikate!!!
Da ich die Mails mit VBA auslese und die $MessageID, zusammen mit dem DeliveredDate in eine SQL-SErver Tabelle schreibe und dabei die $MessageID der Primärschlüssel ist, habe ich nicht schlecht gestaunt, wie es zu einem Fehler kam, weil eine Mail aus 2013 die gleiche $MessageID hat, wie ein Mail von heute. Noch dazu ist das alte Mail schon lange aus dieser Mailbox gelöscht gewesen!!
Also, was definiert nun eindeutig eine Mail-Nachricht??
Danke!
Michael
Peter Klett:
Der eindeutige Schlüssel zu einem Dokument innerhalb einer Notes-Datenbank ist die UniversalID, das ist aber kein Feld im Dokument, sondern eine Eigenschaft.
Sammelst Du Dokumente über mehrere Datenbanken, kannst Du Dich darauf alleine nicht verlassen. Dann würde ich einen Schlüssel aus der ReplikID der Datenbank und der UniversalID des Dokuments zusammenstellen.
Domänenübergreifend ist auch dieser Schlüssel nicht garantiert eindeutig. Selbstverständlich kann in einer anderen Domäne eine Datenbank die gleiche ReplikID besitzen, und Dokumente enthalten, die die gleiche UniversalID tragen. Aber das ist sicherlich für Deinen Anwendungsfall ein eher theoretisches Problem.
koehlerbv:
--- Zitat von: Peter Klett am 04.03.15 - 17:09:30 ---Dann würde ich einen Schlüssel aus der ReplikID der Datenbank und der UniversalID des Dokuments zusammenstellen.
--- Ende Zitat ---
Allgemeine Zustimmung, nur zu oben gesagten folgende Anmerkung: ReplicaID und UniversalID wäre "doppelt gemoppelt", denn die ReplicaID ist Bestandteil der UniversalID.
Benrhard
pram:
Bernhard, hier muss ich dir widersprechen. Das war zwar früher so, seit Notes 8 zumindest beobachte ich, dass die ersten 16 Stellen der UNID eben nicht mehr die Replik-ID sind. (Dann folgen 16 Stellen für das Erstellt-Datum des Dokuments)
Die $MessageID muss laut RFC2822 eigentlich auch eindeutig sein.
https://tools.ietf.org/html/rfc2822
--- Zitat --- The message identifier (msg-id) itself MUST be a globally unique
identifier for a message. The generator of the message identifier
MUST guarantee that the msg-id is unique.
--- Ende Zitat ---
Das Problem ist vermutlich, dass sich der Absender nicht an die RFC hält.
Gruß Roland
Peter Klett:
--- Zitat von: koehlerbv am 04.03.15 - 21:41:42 ---
--- Zitat von: Peter Klett am 04.03.15 - 17:09:30 ---Dann würde ich einen Schlüssel aus der ReplikID der Datenbank und der UniversalID des Dokuments zusammenstellen.
--- Ende Zitat ---
Allgemeine Zustimmung, nur zu oben gesagten folgende Anmerkung: ReplicaID und UniversalID wäre "doppelt gemoppelt", denn die ReplicaID ist Bestandteil der UniversalID.
Benrhard
--- Ende Zitat ---
doc1 sei ein Dokument der db1
Dim doc2 As New NotesDocument (db2)
Call doc1.CopyAllItems (doc2)
doc2.UniversalID = doc1.UniversalID
Call doc2.Save (True, True)
Dann hast Du zwei Dokumente in zwei verschiedenen Datenbanken mit identischer UniversalID. Ich mache sowas gerne bei Archivierungen, da dann das ursprüngliche Erstelldatum des Dokuments erhalten bleibt.
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln