Come usare la libreria di oggetti di Microsoft Outlook per recuperare un messaggio tramite Visual C# dalla cartella Posta in arrivo
Introduzione
Questo articolo descrive come utilizzare la libreria oggetti di Microsoft Outlook 2002 o la libreria di oggetti di Microsoft Office Outlook 2003 per recuperare un messaggio dalla posta in arrivo utilizzando Microsoft Visual C#.
Ulteriori informazioni
Per utilizzare la libreria oggetti di Outlook 2002 o la libreria oggetti di Outlook 2003 per recuperare un messaggio dalla cartella Posta in arrivo tramite Visual C#, seguire questa procedura:
In Microsoft Visual Studio .NET o Visual Studio 2005 creare un nuovo progetto di applicazione console:
Scegliere Nuovo dal menu Filee quindi selezionare Progetto.
In Tipi di progetto selezionare Progetti Visual C#.
Note
In Visual Studio 2005 selezionare Visual C#.
In Modelli selezionare Applicazione console.
Seleziona OK. Per impostazione predefinita, viene creato un file denominato Class1.cs .
Note
In Visual Studio 2005 Program.cs viene creato per impostazione predefinita.
Aggiungere un riferimento alla libreria oggetti di Outlook 2002 o alla libreria oggetti di Outlook 2003. A tale scopo, effettuare i passaggi seguenti:
Scegliere Aggiungi riferimento dal menu Progetto.
Selezionare la scheda COM .
Nella scheda COM selezionare Libreria oggetti di Microsoft Outlook 11.0 se si utilizza Outlook 2003 oppure selezionare Libreria oggetti di Microsoft Outlook 10.0 se si utilizza Outlook 2002.
Selezionare Seleziona.
Nella finestra di dialogo Aggiungi riferimenti selezionare OK.
Note
Se viene visualizzato un messaggio per generare wrapper per le librerie selezionate, selezionare Sì.
Nella finestra del codice Class1.cs sostituire tutto il codice esistente con il codice seguente:
using System; using System.Reflection; // to use Missing.Value //TO DO: If you use the Microsoft Outlook 11.0 Object Library, uncomment the following line. //using Outlook = Microsoft.Office.Interop.Outlook; namespace ConsoleApplication1 { public class Class1 { public static int Main(string[]args) { try { // Create the Outlook application. // in-line initialization Outlook.Application oApp = new Outlook.Application(); // Get the MAPI namespace. Outlook.NameSpace oNS = oApp.GetNamespace("mapi"); // Log on by using the default profile or existing session (no dialog box). oNS.Logon(Missing.Value,Missing.Value,false,true); // Alternate logon method that uses a specific profile name. // TODO: If you use this logon method, specify the correct profile name // and comment the previous Logon line. //oNS.Logon("profilename",Missing.Value,false,true); //Get the Inbox folder. Outlook.MAPIFolder oInbox = oNS.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox); //Get the Items collection in the Inbox folder. Outlook.Items oItems = oInbox.Items; // Get the first message. // Because the Items folder may contain different item types, // use explicit typecasting with the assignment. Outlook.MailItem oMsg = (Outlook.MailItem)oItems.GetFirst(); //Output some common properties. Console.WriteLine(oMsg.Subject); Console.WriteLine(oMsg.SenderName); Console.WriteLine(oMsg.ReceivedTime); Console.WriteLine(oMsg.Body); //Check for attachments. int AttachCnt = oMsg.Attachments.Count; Console.WriteLine("Attachments: " + AttachCnt.ToString()); //TO DO: If you use the Microsoft Outlook 10.0 Object Library, uncomment the following lines. /*if (AttachCnt > 0) { for (int i = 1; i <= AttachCnt; i++) Console.WriteLine(i.ToString() + "-" + oMsg.Attachments.Item(i).DisplayName); }*/ //TO DO: If you use the Microsoft Outlook 11.0 Object Library, uncomment the following lines. /*if (AttachCnt > 0) { for (int i = 1; i <= AttachCnt; i++) Console.WriteLine(i.ToString() + "-" + oMsg.Attachments[i].DisplayName); }*/ //Display the message. oMsg.Display(true); //modal //Log off. oNS.Logoff(); //Explicitly release objects. oMsg = null; oItems = null; oInbox = null; oNS = null; oApp = null; } //Error handler. catch (Exception e) { Console.WriteLine("{0} Exception caught: ", e); } // Return value. return 0; } } }
In questo codice apportare le modifiche necessarie in cui vengono visualizzati i commenti "TO DO".
Premere F5 per compilare e quindi eseguire il programma.
Riferimenti
Per altre informazioni, vedere Sviluppo di Microsoft Office con Visual Studio.