Läs e-postmeddelanden från MS Exchange Server med C#

Microsoft Exchange Server är en plattform som låter dig hantera kontakter, e-postmeddelanden, kalendrar, scheman och tillhandahåller flera samarbetsfunktioner. Med MS Exchange Server kan du distribuera din egen e-postserver utan att förlita dig på tredje part. MS Exchange Server kan också nås från din webb-, skrivbords- eller mobilapplikation via webbtjänster. Således kan du utföra sändnings- och kalenderoperationer i dina applikationer. I den här artikeln kommer du att lära dig hur du ansluter till en Exchange Server i C#. Vi kommer också att visa hur man läser e-postmeddelanden från Exchange Server i C#.

C# API för att läsa e-postmeddelanden från Exchange Server - Gratis nedladdning

Aspose.Email for .NET tillhandahåller lättanvänd API för att arbeta med MS Exchange Server. Det låter dig ansluta till din e-postserver med Exchange Web Service (EWS) eller Internet Message Access Protocol (IMAP). När du är ansluten kan du komma åt objekt i en brevlåda inom några få steg. Du kan installera Aspose.Email för .NET via NuGet eller ladda ner dess DLL.

PM> Install-Package Aspose.Email

Anslut till en Exchange-server med C#

Aspose.Email för .NET tillhandahåller två sätt att ansluta till en instans av Exchange Server: EWS och IMAP. Följande avsnitt innehåller stegen för hur du upprättar en anslutning på något av sätten.

Anslut till en Exchange-server via EWS

Följande är steg för att ansluta till en MS Exchange Server med Aspose.Email för .NET.

Följande kodexempel visar hur du ansluter till Exchange Server via EWS med C#.

// För fullständiga exempel och datafiler, gå till 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;
}

C# Anslut till en Exchange Server via IMAP

För att ansluta till en Exchange Server via IMAP, se till att IMAP-tjänster är aktiverade på din server. När du är klar följer du stegen nedan för att ansluta till Exchange-servern.

  • Skapa en instans av klassen ImapClient och ange värd, användarnamn och lösenord till dess konstruktor.
  • Ställ in säkerhetsalternativ med egenskapen ImapClient.SecurityOptions.
  • Få tillgång till objekten i brevlådan med ImapClient-objektet.

Följande kodexempel visar hur du får åtkomst till Exchange Server via IMAP med C#.

// Anslut till Exchange Server med ImapClient-klassen
ImapClient imapClient = new ImapClient("ex07sp1", "Administrator", "Evaluation1");
imapClient.SecurityOptions = SecurityOptions.Auto;

C# Läs e-postmeddelanden från Exchange Server med EWS

Följande är stegen för att läsa e-postmeddelanden från Exchange Server med EWS.

  • Skapa en instans av IEWSClient.
  • Använd metoden IEWSClient.ListMessage(String) för att komma åt e-postsamlingen.
  • Gå igenom e-postsamlingen för att få information om varje e-postmeddelande.

Följande kodexempel visar hur man läser e-postmeddelanden från Exchange Server i C#.

// För fullständiga exempel och datafiler, gå till https://github.com/aspose-email/Aspose.Email-for-.NET
// Skapa instans av ExchangeWebServiceClient-klassen genom att ge referenser
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "UserName", "Password");

// Ring ListMessages-metod för att lista meddelandeinformation från inkorgen
ExchangeMessageInfoCollection msgCollection = client.ListMessages(client.MailboxInfo.InboxUri);

// Gå igenom samlingen för att visa den grundläggande informationen
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);
}

Läs e-postmeddelanden från Exchange Server med IMAP i C#

Följande är stegen för att läsa e-postmeddelanden från Exchange Server med IMAP i C#.

Följande C#-kodexempel visar hur man läser e-postmeddelanden från Exchange Server med IMAP.

// För fullständiga exempel och datafiler, gå till https://github.com/aspose-email/Aspose.Email-for-.NET
// Anslut till Exchange Server med ImapClient-klassen
ImapClient imapClient = new ImapClient("ex07sp1", "Administrator", "Evaluation1");
imapClient.SecurityOptions = SecurityOptions.Auto;

// Välj mappen Inkorg
imapClient.SelectFolder(ImapFolderInfo.InBox);

// Hämta listan med meddelanden
ImapMessageInfoCollection msgCollection = imapClient.ListMessages();
foreach (ImapMessageInfo msgInfo in msgCollection)
{
    Console.WriteLine(msgInfo.Subject);
}
// Koppla från servern
imapClient.Dispose();

C# API för att läsa Exchange Servers e-postmeddelanden - Skaffa en gratis licens

Du kan prova API utan utvärderingsbegränsningar gratis. Få en gratis tillfällig licens nu.

Aspose Email API för C# - Live Demo

Slutsats

I den här artikeln har du lärt dig hur du ansluter till MS Exchange Server i C#. Dessutom täckte vi också hur man läser e-postmeddelanden från Exchange Server med C#. Kodexemplen har uttryckligen visat hur man får åtkomst till Exchange Server med EWS- och IMAP-klienter. Du kan utforska mer om C# Email API med hjälp av dokumentation.

Se även

Skapa och skicka e-postmeddelanden med C#Läs e-postmeddelanden med IMAP i PythonAnslut till SMTP-server med Python
Gruppmeddelanden från PST efter konversationstrådar med C# .NET