Привет Я создаю приложение, которое читает электронные письма, полученные в Outlook. Процесс чтения что-то вроде этого:Получите уникальный идентификатор из MailItem (Microsoft.Office.Interop.Outlook)?
В Использовании линии:
using Outlook = Microsoft.Office.Interop.Outlook;
Код блок:
var app = new Outlook.Application();
var ns = app.GetNamespace("MAPI");
ns.Logon(null, null, false, false);
var inboxFolder = ns.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);
var subfolder = inboxFolder.Folders["MyFolderName"];
foreach (Outlook.MailItem item in subfolder.Items)
{
// do something
// item.EntryID
}
Теперь мне нужно получить уникальный идентификатор из этого пункта (в Еогеаспе). В Outlook.MailItem
есть свойство EntryID
, которое я использовал, и он работает хорошо, но я нашел проблему с этим. Когда я переместил письмо (в Outlook) в другую папку, это свойство EntryID
изменилось.
Я провел несколько тестов и обнаружил, что значение EntryID
меняет только несколько символов при перемещении почты в другую папку.
Мне нужен идентификатор, который будет уникальным независимо от того, в какой папке. Есть ли другое свойство от Outlook.MailItem
или любая подстрока EntryID
, которая всегда уникальна?
Я использую:
- .net 4.0.
- Outlook 2010.
- Microsoft.Office.Interop.Outlook.dll версия 14.0.0.0.
Код EntryID может измениться, но я предполагаю, что он уникален независимо от папки. В чем проблема, пытаетесь ли вы сохранить ссылку на id где-нибудь? – jac