Java EWS API — определение исходных, ответных и переадресованных электронных писем

Я работаю над приложением, которое интегрируется с MS Exchange для получения запросов пользователей. В рамках этого требования мне нужно убедиться, что система обрабатывает только исходное электронное письмо. Если пользователь отвечает на отправленное электронное письмо или снова пересылает его в приложение, мне нужно игнорировать их как дубликаты.

Я проверил документацию по EWS API (EmailMessage) и не нашел ничего, что могло бы дать мне эту информацию. Немного поискав, я наткнулся на свойство MAPI «PR_LAST_VERB_EXECUTED», в котором может содержаться искомая информация, но затем я не нашел ни одного образца кода, объясняющего, как его использовать или получить из интерфейса EmailMessage.

Единственная другая альтернатива, которую я мог видеть, — это использование поля идентификатора разговора, чтобы проверить, является ли новое полученное электронное письмо частью существующего разговора. В этом случае считайте его дубликатом.

Если кто-то реализовывал что-то подобное, дайте знать


person Anand Nadar    schedule 13.02.2013    source источник
comment
У меня была такая же проблема, и я успешно ее решил. См. stackoverflow.com/questions/13646559/   -  person Jürgen Hoffmann    schedule 13.02.2013
comment
Хороший; Спасибо Юрген. Я играл с идентификатором разговора, но не понимал, что индекс может быть здесь полезен. Можно ли полностью полагаться на то, что длина поля составляет строго 22 символа для исходного сообщения?   -  person Anand Nadar    schedule 13.02.2013
comment
да, если индекс имеет длину 22, это всегда исходное сообщение. по крайней мере, мой код полагается на это;)   -  person Jürgen Hoffmann    schedule 14.02.2013