Я создаю MailItem
из приложения WPF и показываю его пользователю:
Application _application = new Application();
MailItem mailItem = _outlook.CreateItem(OlItemType.olMailItem);
mailItem.Display(false);
После того, как пользователь щелкнул Отправить MailItem
сохраняется в db ( Затем MailItem
связывается с PK):
_application.ItemSend += Application_ItemSend;
// ...
private void Application_ItemSend(object Item, ref bool Cancel)
{
MailItem mailItem = Item as MailItem;
// Save mailItem in db ...
}
После этого мне нужно найти MailItem
, когда он скопирован в папку отправленных Outlook, и пометить его в db как «отправлено»:
private static void TrackSentFolder(Data.Entity.Person person)
{
MAPIFolder sentFolder = _nameSpace.GetDefaultFolder(OlDefaultFolders.olFolderSentMail);
// Find previously created MailItem ...
В своем исследовании я пробовал несколько способов найти MailItem в папке отправленных:
- Отметить
MailItem
используя UserProperty
перед отправкой - Отметить
MailItem
используя PropertyAccessor
перед отправкой - Сохранить
MailItem
вместе с PR_SEARCH_KEY
в БД
Я нахожу это довольно запутанным.
Есть ли рекомендуемый как найти ранее созданный MailItem
в папке отправленных?