c# - office - ¿Cómo recuperar la carpeta de Outlook de un elemento de correo(Outlook.MailItem)?
recuperar correo outlook 2013 (2)
¿Te refieres a la ruta de la carpeta? Use MAPIFolder.FullFolderPath. O MAPIFoldert.Name si solo necesita el nombre.
También tenga en cuenta que el valor será el mismo para todos los elementos en la carpeta, por lo que no hay ninguna razón para evaluarlo en cada paso del ciclo.
inboxFolder = Globals.ThisAddIn.Application.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox
mi carpeta predeterminada de bandeja de entrada a través de inboxFolder = Globals.ThisAddIn.Application.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox
En otra parte de mi código, comienzo a hacer un ciclo foreach para extraer la información específica que quiero de estos MailItems
foreach (var item in this.inboxFolder.Items)
{
Outlook.MailItem mailItem = (Outlook.MailItem)item;
//.... doing stuff here
string SenderEmail = mailItem.SenderEmailAddress;
string SenderName = mailItem.SenderName;
string FolderLocation = mailItem.???; //how to retrieve folder location?
//.... more stuff here
}
Por ejemplo: un usuario puede haber creado una subcarpeta llamada ''Prueba'' que se muestra a continuación.
Gracias por el puntero chicos. Sin embargo, tuve problemas para implementarlo al principio. Así es como lo resolví, por si acaso si alguien enfrenta el mismo problema.
Outlook.MAPIFolder parentFolder = mailItemToDelete.Parent as Outlook.MAPIFolder;
string FolderLocation = parentFolder.FolderPath;
El objeto principal es dinámico y, por lo tanto, causaba problemas.