Leggi le email da MS Exchange Server usando C#

Microsoft Exchange Server è una piattaforma che ti consente di gestire contatti, e-mail, calendari, pianificazioni e fornisce diverse funzionalità di collaborazione. Con MS Exchange Server, puoi distribuire il tuo server di posta senza fare affidamento su terze parti. È possibile accedere a MS Exchange Server anche dall’interno delle applicazioni Web, desktop o mobili tramite servizi Web. Pertanto, puoi eseguire le operazioni di mailing e calandratura nelle tue applicazioni. In questo articolo imparerai come connetterti a un server Exchange e leggere le email usando C#.

API C# Exchange Server - Download gratuito

Aspose.Email for .NET fornisce API facili da usare per lavorare con MS Exchange Server. Ti consente di connetterti al tuo server di posta utilizzando Exchange Web Service (EWS) o Internet Message Access Protocol (IMAP). Una volta connesso, puoi accedere agli elementi in una casella di posta in pochi passaggi. Puoi installare Aspose.Email per .NET tramite NuGet o scarica la sua DLL.

PM> Install-Package Aspose.Email

Connettiti a un server Exchange utilizzando C#

Aspose.Email per .NET offre due modi per connettersi a un’istanza di Exchange Server: EWS e IMAP. Le sezioni seguenti forniscono i passaggi per stabilire una connessione utilizzando uno dei metodi.

Connettiti a un server Exchange tramite EWS

Di seguito sono riportati i passaggi per connettersi a un server MS Exchange utilizzando Aspose.Email per .NET.

L’esempio di codice seguente mostra come connettersi a Exchange Server tramite EWS usando C#.

// Per esempi completi e file di dati, visitare https://github.com/aspose-email/Aspose.Email-for-.NET
private static IEWSClient GetExchangeEWSClient()
{
    const string mailboxUri = "https://outlook.office365.com/ews/exchange.asmx";
    const string domain = @"";
    const string username = @"username@ASE305.onmicrosoft.com";
    const string password = @"password";
    NetworkCredential credentials = new NetworkCredential(username, password, domain);
    IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
    return client;
}

Connettiti a un server Exchange tramite IMAP

Per connetterti a un server Exchange tramite IMAP, assicurati che i servizi IMAP siano abilitati sul tuo server. Una volta terminato, segui i passaggi seguenti per connetterti a Exchange Server.

  • Crea un’istanza della classe ImapClient e fornisci host, nome utente e password al relativo costruttore.
  • Imposta le opzioni di sicurezza utilizzando la proprietà ImapClient.SecurityOptions.
  • Accedi agli elementi nella casella di posta utilizzando l’oggetto ImapClient.

L’esempio di codice seguente mostra come accedere a Exchange Server tramite IMAP usando C#.

// Connettiti a Exchange Server usando la classe ImapClient
ImapClient imapClient = new ImapClient("ex07sp1", "Administrator", "Evaluation1");
imapClient.SecurityOptions = SecurityOptions.Auto;

Leggi le email da Exchange Server utilizzando EWS in C#

Di seguito sono riportati i passaggi per leggere i messaggi di posta elettronica da Exchange Server utilizzando EWS.

  • Crea un’istanza di IEWSClient.
  • Utilizzare il metodo IEWSClient.ListMessage(String) per accedere alla raccolta di posta elettronica.
  • Scorri la raccolta di e-mail per ottenere i dettagli di ogni messaggio e-mail.

L’esempio di codice seguente mostra come leggere i messaggi di posta elettronica da Exchange Server in C#.

// Per esempi completi e file di dati, visitare https://github.com/aspose-email/Aspose.Email-for-.NET
// Crea un'istanza della classe ExchangeWebServiceClient fornendo le credenziali
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "UserName", "Password");

// Chiama il metodo ListMessages per elencare le informazioni sui messaggi dalla Posta in arrivo
ExchangeMessageInfoCollection msgCollection = client.ListMessages(client.MailboxInfo.InboxUri);

// Scorri la raccolta per visualizzare le informazioni di base
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);
}

Leggi le e-mail da Exchange Server utilizzando IMAP

Di seguito sono riportati i passaggi per leggere i messaggi di posta elettronica da Exchange Server utilizzando IMAP.

  • Crea un’istanza della classe ImapClient e fornisci host, nome utente e password al relativo costruttore.
  • Imposta le opzioni di sicurezza utilizzando la proprietà ImapClient.SecurityOptions.
  • Seleziona una cartella come posta in arrivo, inviata, ecc. utilizzando il metodo ImapClient.SelectFolder().
  • Usa il metodo ImapClient.ListMessages() per ottenere la raccolta di email.
  • Scorri la raccolta di e-mail per accedere a ciascun messaggio.

L’esempio di codice seguente mostra come leggere i messaggi di posta elettronica da Exchange Server tramite IMAP.

// Per esempi completi e file di dati, visitare https://github.com/aspose-email/Aspose.Email-for-.NET
// Connettiti a Exchange Server usando la classe ImapClient
ImapClient imapClient = new ImapClient("ex07sp1", "Administrator", "Evaluation1");
imapClient.SecurityOptions = SecurityOptions.Auto;

// Seleziona la cartella Posta in arrivo
imapClient.SelectFolder(ImapFolderInfo.InBox);

// Ottieni l'elenco dei messaggi
ImapMessageInfoCollection msgCollection = imapClient.ListMessages();
foreach (ImapMessageInfo msgInfo in msgCollection)
{
    Console.WriteLine(msgInfo.Subject);
}
// Disconnettersi dal server
imapClient.Dispose();

Ottieni una licenza API gratuita

Puoi provare l’API senza limitazioni di valutazione gratuitamente. Ottieni una licenza temporanea gratuita ora.

Dimostrazione dal vivo

Conclusione

In questo articolo hai imparato come connetterti a MS Exchange Server e leggere i messaggi di posta elettronica usando C#. Inoltre, gli esempi di codice hanno mostrato come accedere a Exchange Server utilizzando client EWS e IMAP. Puoi esplorare di più sull’API di posta elettronica C# utilizzando la documentazione.

Guarda anche