Outlook.MailItem-是否有任何方法可以确定两个邮件(发送给不同的收件人)是否相同

本文关键字:是否 收件人 两个 方法 任何 MailItem- Outlook | 更新日期: 2023-09-27 18:22:18

我想知道是否有任何方法可以比较两个Outlook.MailItem,看看它们是否相同。

例如,如果我们公司的两个人收到同一封电子邮件,有没有办法对他们进行平等比较?

我正在考虑比较以下属性:

SubjectToFromCCBody

它可能在99%的时间内工作,但是随着数据库越来越大,这个例程将变得越来越慢。

有更好的方法来实现这一点吗?

Outlook.MailItem-是否有任何方法可以确定两个邮件(发送给不同的收件人)是否相同

如果您正在存储值,那么使用您所声明的属性,可以使用属性的哈希代码。然后,您可以将其作为索引列,以提高搜索和检索性能。

所以我想在C#中:

var mailHash = String.Format("{0}{1}{2}{3}{4}", mail.To, mail.From, mail.CC, mail.Subject, mail.Body).GetHashCode();

这对你有用吗?

干杯,
克里斯。

与其创建自己的哈希函数,不如使用系统真正使用的哈希函数。对于Exchange项目,可以检查项目的EntryID以获取该项目的Exchange ID。我认为这对当地的PST来说也是独一无二的,但你应该确保这一点。