如何在不使用邮件正文的情况下比较电子邮件?
例如:
在不使用邮件正文的情况下,如何识别Mary收到的邮件与John发送的邮件(“保存”)相同?
当前,它的工作方式如下,使用以下信息创建HASH:
此哈希存储在数据库中,当Mary的Outlook触发新消息事件时,将生成具有相同信息的哈希,并在数据库中进行比较以查看是否应对其进行分类。
问题在于,取决于邮件的正文大小,它不是有效的,它需要很长时间才能通过MailItem.Body属性获取邮件的正文。
不使用邮件正文的目的仅仅是为了提高性能。
public string GetAssinatura(Outlook.MailItem email)
{
try
{
string corpoEmail = email.Body;//this is not performatic with big messages
var hash = GenerateHash(corpoEmail);
}
}
对话参与者可以回复或转发邮件,因此Outlook和大多数最常用的电子邮件客户端将主题更改为默认值,例如Re:Subject。 因此,不可能仅散列参与者和主题。
答案 0 :(得分:2)
使用属性:
MailItem.SentOn
有可能生成该哈希。发送邮件的Outlook仅在发送邮件后才具有该信息。因此,当在Item_Send文件夹中添加新项目时,代码必须运行。