我正在尝试找到保证的唯一标识符,以区分彼此的电子邮件。目前,我正在编写一个连接到Microsoft Exchange的应用程序,但我希望能够支持其他电子邮件服务。
我认为唯一标识符是EmailMessage.InternetMessageId
,并且此属性使用 PR_ENTRYID ,但我找不到任何支持的文档此
所有电子邮件都有唯一标识符,并且(在Exchange中)是InternetMessageId吗?
答案 0 :(得分:11)
电子邮件没有保证唯一ID,Message-ID与您的距离非常接近。你真正希望的最好的是服务器的独特之处......甚至这取决于邮件服务器的类型及其作用。
答案 1 :(得分:3)
我想这是永远无法保证的。我的意思是这个号码来自特定的电子邮件标题,这些邮件标题是在特定的RFC文档中正式编有时它可能是由Exchange等特殊服务提供的特殊信息(您在问题中引用的内容)。即使我不能给你一个非常完整的答案,我可以肯定你应该知道你不能保证单一性的事实。为了进一步阅读,我在Internet邮件的抽象域中找到了与上述标题相关的SO的有趣答案:Is the "Message ID" Email Header unique for each recipient?
答案 2 :(得分:2)
考虑电子邮件的某些元素,如何使用可能产生hash function
unique
的{{1}}。即hash