Obtener la lista de mensajes de la carpeta Bandeja de entrada del buzón de Microsoft Exchange Server en Aspose.Email

Para usar objetos de automatización de Office para Microsoft Outlook, agregue referencias a las bibliotecas de Microsoft Office y Microsoft Office Interop for Outlook al proyecto. Microsoft Office Outlook también debe estar instalado en la máquina donde se ejecuta el código.

VSTO


 // Create Application class and get namespace

Outlook.Application outlook = new Outlook.Application();

Outlook.NameSpace ns = outlook.GetNamespace("Mapi");

object _missing = Type.Missing;

ns.Logon(_missing, _missing, false, true);

// Get Inbox information in objec of type MAPIFolder

Outlook.MAPIFolder inbox = ns.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);

// Unread emails

int unread = inbox.UnReadItemCount;

// Display the subject of emails in the Inbox folder

foreach (Outlook.MailItem mail in inbox.Items)

{

	Console.WriteLine(mail.Subject);

}

Aspose.Email

Sin embargo, Microsoft Outlook no necesita estar instalado en la máquina donde se ejecuta el código. Haga referencia a Aspose.Email.dll para compilar y ejecutar el proyecto correctamente.


 // Create instance of ExchangeClient class by giving credentials

ExchangeClient client = new ExchangeClient("http://MachineName/exchange/Username",

				"username", "password", "domain");

// Call ListMessages method to list messages info from Inbox

ExchangeMessageInfoCollection msgCollection = client.ListMessages(client.MailboxInfo.InboxUri);

// Loop through the collection to display the basic information

foreach (ExchangeMessageInfo msgInfo in msgCollection)

{

	Console.WriteLine("Subject: " + msgInfo.Subject);

	Console.WriteLine("From: " + msgInfo.From.ToString());

	Console.WriteLine("To: " + msgInfo.To.ToString());

	Console.WriteLine("Message ID: " + msgInfo.MessageId);

	Console.WriteLine("Unique URI: " + msgInfo.UniqueUri);

	Console.WriteLine("==================================");

}

Descargar código de muestra