Как сравнить сообщения электронной почты, не используя тело сообщения?
Например:
- Джон отправил сообщение Мэри и "сохранить "это сообщение в моем дополнении.
- Оба имеют одно и то же дополнение.
- Когда Мэри получает сообщение, это сообщение должно быть классифицировано, поскольку Джон уже" сохранил "сообщение.
Как определить, что сообщение, которое получила Мария, совпадает с сообщением, которое Джон отправил («сохранить»), не используя тело сообщения?
В настоящее времяэто работает следующим образом, создается HASH со следующей информацией:
- Отправитель
- Адресат
- Тема
- Текст сообщения
Этот хэш хранится в базе данных, когда Мэри Outlook запускает событие нового сообщения, HASH с той же информацией генерируется и сравнивается в базе данных, чтобы увидеть, следует ли его классифицировать или нет.
Проблема в том, что, в зависимости от размера сообщения, оно не работает, требуется много времени, чтобы получить тело сообщения через свойство 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.Поэтому невозможно иметь только хэш участников и субъекта.