2010-01-13 23 views

Respuesta

12

Marque esta link. Introduction to Outlook Programming explicará las cosas más claramente.

Puede recorrer los elementos de correo. código de ejemplo

using System.Runtime.InteropServices; 
using OutLook = Microsoft.Office.Interop.Outlook; 
using Office = Microsoft.Office.Core; 

    OutLook.Application oApp; 
      OutLook._NameSpace oNS; 
      OutLook.MAPIFolder oFolder; 
      OutLook._Explorer oExp; 

      oApp = new OutLook.Application(); 
      oNS = (OutLook._NameSpace)oApp.GetNamespace("MAPI"); 
      oFolder = oNS.GetDefaultFolder(OutLook.OlDefaultFolders.olFolderInbox); 
      oExp = oFolder.GetExplorer(false); 
      oNS.Logon(Missing.Value, Missing.Value, false, true); 

     OutLook.Items items = oFolder.Items; 
     foreach (OutLook.MailItem mail in items) 
         { 

          if (mail.UnRead == true) 
          { 
         } 
     } 

Editar: Reference other folders

oFolder.Folders["Foldername"] 

Common Outlook tasks

+0

Sí eso es lo que quiero! Gracias, pero, ¿hay alguna forma de obtener los Elementos de la Bandeja de Entrada desde otro Buzón que esté en Outlook? – Phil

+0

Looping a través de todos los elementos en una carpeta es una idea terrible, especialmente si está trabajando contra una tienda de Exchange en línea. Items.Find/FindNext o Items.Restrict es el camino a seguir. –

2

bucle a través de todos los elementos de una carpeta es una idea terrible, sobre todo si se está trabajando en contra de una línea Tienda de intercambio. Items.Find/FindNext o Items.Restrict es el camino a seguir.

Buscar/FindNext:

OutLook.Items items = oFolder.Items; 
OutLook.MailItem mail = items.Find("[Unread] = true"); 
while (mail != null) 
{ 
    MessageBox.Show(mail.Subject); 
    mail = items.FindNext(); 
} 

Items.Restrict:

OutLook.Items items = oFolder.Items.Restict("[Unread] = true") 
foreach (OutLook.MailItem mail in items) 
{ 
    MessageBox.Show(mail.Subject); 
} 
+0

¿Cuál es el filtro para recuperar los correos electrónicos de ayer? He intentado esto [SentOn]> '17/05/2017 4:21:33 PM' Pero parece que no funciona. Devuelve cero registros –

+0

O eso o [ReceivedTime]. –

+0

Sí, estaba cometiendo un pequeño error al formatear la fecha. Gracias –

Cuestiones relacionadas