J'essaie d'utiliser Redemption pour afficher un dossier envoyé de boîte aux lettres partagée Exchange.Comment utiliser Redemption pour ouvrir un dossier envoyé de boîte aux lettres partagée Exchange et l'afficher
Par exemple, je peux ouvrir la boîte de réception, les contacts ou le dossier du calendrier sans Redemption comme suit.
Outlook.Application app = new Outlook.Application();
Outlook.NameSpace ns = app.GetNamespace("MAPI");
string recipientName = "[email protected]";
Outlook.Recipient recip = ns.CreateRecipient(recipientName);
recip.Resolve();
if (recip.Resolved)
{
Outlook.MAPIFolder InboxFolder = ns.GetSharedDefaultFolder(recip, Outlook.OlDefaultFolders.olFolderInbox);
//Outlook.MAPIFolder ContactsFolder = ns.GetSharedDefaultFolder(recip, Outlook.OlDefaultFolders.olFolderContacts);
//Outlook.MAPIFolder CalendarFolder = ns.GetSharedDefaultFolder(recip, Outlook.OlDefaultFolders.olFolderCalendar);
InboxFolder.Display();
}
Mais depuis olFolderSentMail ne peut pas être spécifié comme argument que je tente d'utiliser Redemption pour afficher le dossier envoyé. Référence- https://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook._namespace.getshareddefaultfolder.aspx
Donc, voici le code que j'essaie mais je n'arrive pas à comprendre comment .Display(); le dossier utilisant Redemption ou si c'est même possible.
Outlook.Application app = new Outlook.Application();
Outlook.NameSpace ns = app.GetNamespace("MAPI");
string recipientName = "[email protected]";
Outlook.Recipient recip = ns.CreateRecipient(recipientName);
recip.Resolve();
Redemption.RDOSession session = new Redemption.RDOSession();
session.MAPIOBJECT = Application.Session.MAPIOBJECT;
if (recip.Resolved)
{
Redemption.RDOFolder Sentfolder = session.GetSharedDefaultFolder(recip, rdoDefaultFolders.olFolderSentMail);
Sentfolder. // There's no Intellisense for Display
}
Mise à jour: Dmity était correcte mais je encore besoin obtenir le rachat EntryID et StoreID pour le dossier de boîte aux lettres Envoyé partagé parce que je ne pouvais pas le récupérer à l'aide du _NameSpace.GetSharedDefaultFolder. Voici ce que j'ai fini par faire, j'espère que ça aide quelqu'un d'autre.
Outlook.Application app = new Outlook.Application();
Outlook.NameSpace ns = app.GetNamespace("MAPI");
string recipientName = "[email protected]";
Outlook.Recipient recip = ns.CreateRecipient(recipientName);
recip.Resolve();
Redemption.RDOSession session = new Redemption.RDOSession();
session.MAPIOBJECT = Application.Session.MAPIOBJECT;
if (recip.Resolved)
{
Redemption.RDOFolder Sentfolder = session.GetSharedDefaultFolder(recip, rdoDefaultFolders.olFolderSentMail);
string folderID = Sentfolder.EntryID;
string storeID = Sentfolder.StoreID;
Outlook.MAPIFolder displaySent = ns.GetFolderFromID(folderID, storeID);
displaySent.Display();
}
Comme toujours, merci Dmitry! J'avais encore besoin d'utiliser Redemption pour obtenir le StoreID et l'EntryID pour le dossier Sent partagé. –