Was ist die eindeutige Kennung für E-Mails?
Ich versuche zu finden, die garantiert eindeutige Kennung für E-Mails unterscheiden sich voneinander. Derzeit bin ich eine Anwendung schreiben, die eine Verbindung zu Microsoft Exchange, aber ich möchte in der Lage sein auf die Unterstützung anderer E-Mail-Dienste.
EmailMessage.InternetMessageId
, und dass diese Eigenschaft verwendet das PR_ENTRYID, außer, dass ich finde keine Dokumentation zu unterstützen.
Tun, alle E-Mails haben eine eindeutige id und ist, dass (im Austausch) der InternetMessageId?
- Wenn nur jede e-mail bekam eine GUID, die war zuverlässig erzeugt...
- Sie könnten versuchen, ein hashing-Algorithmus.
- Wie wäre
EmailMessage.ItemId.UniqueId
?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es keine garantierte eindeutige id für E-Mails, die Message-ID ist in etwa so nah wie Sie kommen. Das beste, was Sie können tatsächlich hoffen ist einzigartig für den server...und selbst das hängt von der Art des E-mail-server und was es tut.
Ich denke, das ist etwas, was nie zu 100% garantiert. Ich meine, die Zahl kommt von der speziellen E-Mail-Header entwickelt im Laufe der Zeit und beschrieben offiziell von spezifischen RFC-Dokumente. Manchmal kann es sein, spezielle Informationen, die von einem speziellen Dienst wie Exchange (was Sie zitiert in Ihrer Frage). Auch wenn ich nicht geben kann, Ihnen eine wirklich umfassende Antwort, ich kann sagen, für sicher, Sie sollten sich der Tatsache bewusst sein, Sie haben keine Garantie von unicity. Für die weitere Lektüre fand ich eine interessante Antwort auf SO im Zusammenhang mit der oben erwähnten header in die abstrakte Domäne des Internet-Mail-Nachrichten: Ist die "Message-ID" E-Mail-Header eindeutig für jeden Empfänger?
Wie wäre es mit einem
hash function
könnten Ertrag einunique
hash
Prüfung einige Elemente der E-Mail-Nachricht. alsoGetEmailHash(dateTimeReceived+sender+subject+body)