Microsoft Exchange Server är en allmänt använd samarbetsplattform som tillhandahåller e-post, kontakthantering, kalender och andra tjänster. I föregående inlägg har vi visat dig hur du kommer åt och läser e-postmeddelanden från MS Exchange Server programmatiskt i en .NET-applikation. Du kan dock också behöva kopiera e-postmeddelanden från en mapp till en annan på Exchange Server. För att uppnå det visar den här artikeln hur du flyttar e-postmeddelanden till en viss mapp på MS Exchange Server i C# .NET.
- .NET API för att flytta e-postmeddelanden på Microsoft Exchange Server
- Flytta befintlig e-post till en mapp på MS Exchange Server
- Flytta ny e-post till en mapp på MS Exchange Server
C# .NET API för att flytta e-postmeddelanden på Microsoft Exchange Server
För att flytta e-postmeddelandena på MS Exchange Server kommer vi att använda Aspose.Email for .NET. API ger enkla sätt att ansluta till och arbeta med MS Exchange Server. Du kan installera den via NuGet eller ladda ner dess DLL.
PM> Install-Package Aspose.Email
Flytta e-post till en mapp på MS Exchange Server i C#
Följande är stegen för att flytta e-postmeddelanden till en viss mapp på MS Exchange Server i C#.
- Initiera först IEWSClient-objektet med användarnamn, lösenord, domän och URI.
- Hämta sedan en lista över e-postmeddelanden i ett ExchangeMessageInfoCollection-objekt med metoden IEWSClient.ListMessages(IEWSClient.MailboxInfo.InboxUri).
- Efter det går du igenom varje ExchangeMessageInfo-meddelande och filtrerar de nödvändiga.
- Hämta sedan URI för meddelandet som ska flyttas med egenskapen ExchangeMessageInfo.UniqueUri.
- Flytta slutligen e-postmeddelandet med metoden IEWSClient.CopyItem(string URI, IEWSClient.MailboxInfo.DeletedItemsUri).
Följande kodexempel visar hur man flyttar ett e-postmeddelande till en mapp på MS Exchange Server i C# .NET.
try
{
// Skapa en instans av klassen EWSClient genom att ge referenser
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
// Ring ListMessages-metod för att lista meddelandeinformation från inkorgen
ExchangeMessageInfoCollection msgCollection = client.ListMessages(client.MailboxInfo.InboxUri);
// Gå igenom samlingen för att få meddelande-URI
foreach (ExchangeMessageInfo msgInfo in msgCollection)
{
if (msgInfo.From.Address.Contains("jhon.vick"))
{
String strMessageURI = msgInfo.UniqueUri;
// Kopiera till en viss mapp
string newMessageUri = client.CopyItem(strMessageURI, client.MailboxInfo.DeletedItemsUri);
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Flytta ny e-post till en mapp på MS Exchange Server
Du kan också flytta ett nyskapat e-postmeddelande till en viss mapp i MS Exchange Server. Följande är stegen för att utföra denna operation.
- Initiera först objektet IEWSClient med användarnamn, lösenord, domän och URI.
- Skapa sedan ett nytt meddelande med klassen MailMessage.
- Efter det, få e-postmeddelandets URI returnerad med metoden IEWSClient.AppendMessage(MailMessage).
- Flytta slutligen e-postmeddelandet med metoden IEWSClient.CopyItem(string URI, IEWSClient.MailboxInfo.OutboxUri).
Följande kodexempel visar hur du flyttar ett nytt e-postmeddelande till en mapp i MS Exchange Server.
try
{
// Skapa en instans av klassen EWSClient genom att ge referenser
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
// Skapa meddelande
MailMessage message = new MailMessage("from@domain.com", "to@domain.com", "EMAILNET-34997 - " + Guid.NewGuid().ToString(), "EMAILNET-34997 Exchange: Copy a message and get reference to the new Copy item");
// Få meddelande-URI
string messageUri = client.AppendMessage(message);
// Kopiera meddelande
string newMessageUri = client.CopyItem(messageUri, client.MailboxInfo.OutboxUri);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Skaffa en gratis API-licens
Du kan få en gratis temporär licens för att använda Aspose.Email för .NET utan utvärderingsbegränsningar.
Slutsats
I den här artikeln har du lärt dig hur du flyttar e-postmeddelanden till en viss mapp i Microsoft Exchange Server med C#. Dessutom har du sett hur man flyttar ett nyskapat e-postmeddelande till en specifik mapp i Exchange Server. Dessutom kan du utforska dokumentationen för att läsa mer om Aspose.Email för .NET. Du kan också ställa dina frågor via vårt forum.