Из моего приложения WPF я создаю и отображаю MailItem
, как показано ниже:
using Microsoft.Office.Interop.Outlook;
Application outlook = new Application();
NameSpace ns = outlook.GetNamespace("MAPI");
MailItem mailItem = outlook.CreateItem(OlItemType.olMailItem);
mailItem.Display(false);
string lastEntryId = mailItem.EntryID; // remember EntryId
Теперь пользователь может создавать и отправлять почту.
После того, как пользователь отправил письмо он подтверждает отправку в моем приложении. Мое приложение должно сохранить почту в файловой системе. Мой подход состоял в том, чтобы «запомнить» MailItem.EntryID
, чтобы использовать его после отправки.
// ... lastEntryId is null therefore this code doesn't work
MailItem mailItem = ns.GetItemFromID(lastEntryId);
string fileName = GetValidFileName(item.Subject) + ".msg";
string file = Path.Combine(GetSaveDirectory(), fileName);
item.SaveAs(file);
Но lastEntryId
- это null
перед отправкой, поэтому я не могу использовать его.
Вопрос : как я могу получить доступ к MailItem после его отправки?