16

我正在尝试找到保证的唯一标识符来区分电子邮件。目前,我正在编写一个连接到 Microsoft Exchange 的应用程序,但是我希望能够支持其他电子邮件服务。

认为唯一标识符是EmailMessage.InternetMessageId,并且该属性使用PR_ENTRYID,但我找不到任何文档来支持这一点。

是否所有电子邮件都有唯一标识符,并且(在 Exchange 中)是 InternetMessageId 吗?

4

3 回答 3

13

没有保证电子邮件的唯一 ID,Message-ID 与您来的时候差不多。您实际上可以期望的最好结果是服务器独有的……甚至这取决于邮件服务器的类型及其功能。

于 2012-08-06T20:49:30.730 回答
4

我想这是永远不会 100% 保证的事情。我的意思是这个数字来自特定的 RFC 文档在一段时间内开发并正式描述的特殊电子邮件标头。有时它可能是由 Exchange 等特殊服务提供的特殊信息(您在问题中引用的内容)。即使我不能给你一个真正完整的答案,我可以肯定地告诉你,你应该意识到你不能保证唯一性。为了进一步阅读,我在 Internet 邮件消息的抽象域中找到了与上述标头相关的一个有趣的答案:“邮件 ID”电子邮件标头对于每个收件人是否唯一?

于 2012-08-06T20:53:39.997 回答
3

如何使用hash function可以产生unique hash考虑电子邮件消息的某些元素的。IEGetEmailHash(dateTimeReceived+sender+subject+body)

于 2017-08-14T10:50:25.570 回答