Microsoft Exchange Server to szeroko stosowana platforma współpracy, która zapewnia pocztę e-mail, zarządzanie kontaktami, kalendarze i inne usługi. W poprzednim poście pokazaliśmy, jak uzyskać dostęp i czytać e-maile z MS Exchange Server programowo w aplikacji .NET. Jednak może być również konieczne skopiowanie wiadomości e-mail z jednego folderu do innego na serwerze Exchange. Aby to osiągnąć, w tym artykule pokazano, jak przenieść wiadomości e-mail do określonego folderu na serwerze MS Exchange w języku C# .NET.
- Interfejs API platformy .NET do przenoszenia wiadomości e-mail na serwerze Microsoft Exchange
- Przenieś istniejącą wiadomość e-mail do folderu na serwerze MS Exchange
- Przenieś nową wiadomość e-mail do folderu na serwerze MS Exchange
Interfejs API platformy C# .NET do przenoszenia wiadomości e-mail na serwerze Microsoft Exchange
Aby przenieść wiadomości e-mail na MS Exchange Server, użyjemy Aspose.Email for .NET. Interfejs API zapewnia proste sposoby łączenia się i pracy z MS Exchange Server. Możesz zainstalować go przez NuGet lub pobierz jego bibliotekę DLL.
PM> Install-Package Aspose.Email
Przenieś wiadomość e-mail do folderu na serwerze MS Exchange w języku C#
Poniżej przedstawiono kroki przenoszenia wiadomości e-mail do określonego folderu na serwerze MS Exchange w języku C#.
- Najpierw zainicjuj obiekt IEWSClient, używając nazwy użytkownika, hasła, domeny i URI.
- Następnie pobierz listę wiadomości e-mail w obiekcie ExchangeMessageInfoCollection za pomocą metody IEWSClient.ListMessages(IEWSClient.MailboxInfo.InboxUri).
- Następnie przejrzyj każdą wiadomość ExchangeMessageInfo i przefiltruj wymagane wiadomości.
- Następnie pobierz URI wiadomości do przeniesienia za pomocą właściwości ExchangeMessageInfo.UniqueUri.
- Na koniec przenieś wiadomość e-mail za pomocą metody IEWSClient.CopyItem(string URI, IEWSClient.MailboxInfo.DeletedItemsUri).
Poniższy przykładowy kod pokazuje, jak przenieść wiadomość e-mail do folderu na serwerze MS Exchange w języku C# .NET.
try
{
// Utwórz instancję klasy EWSClient, podając poświadczenia
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
// Wywołaj metodę ListMessages, aby wyświetlić informacje o wiadomościach ze skrzynki odbiorczej
ExchangeMessageInfoCollection msgCollection = client.ListMessages(client.MailboxInfo.InboxUri);
// Przejrzyj kolekcję, aby uzyskać identyfikator URI komunikatu
foreach (ExchangeMessageInfo msgInfo in msgCollection)
{
if (msgInfo.From.Address.Contains("jhon.vick"))
{
String strMessageURI = msgInfo.UniqueUri;
// Skopiuj do określonego folderu
string newMessageUri = client.CopyItem(strMessageURI, client.MailboxInfo.DeletedItemsUri);
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Przenieś nową wiadomość e-mail do folderu na serwerze MS Exchange
Możesz także przenieść nowo utworzoną wiadomość e-mail do określonego folderu w MS Exchange Server. Poniżej przedstawiono kroki, aby wykonać tę operację.
- Najpierw zainicjuj obiekt IEWSClient, używając nazwy użytkownika, hasła, domeny i URI.
- Następnie utwórz nową wiadomość przy użyciu klasy MailMessage.
- Następnie uzyskaj adres URI wiadomości e-mail zwrócony metodą IEWSClient.AppendMessage(MailMessage).
- Na koniec przenieś wiadomość e-mail za pomocą metody IEWSClient.CopyItem(string URI, IEWSClient.MailboxInfo.OutboxUri).
Poniższy przykładowy kod pokazuje, jak przenieść nową wiadomość e-mail do folderu w MS Exchange Server.
try
{
// Utwórz instancję klasy EWSClient, podając poświadczenia
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
// Utwórz wiadomość
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");
// Pobierz identyfikator URI wiadomości
string messageUri = client.AppendMessage(message);
// Skopiuj wiadomość
string newMessageUri = client.CopyItem(messageUri, client.MailboxInfo.OutboxUri);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Uzyskaj bezpłatną licencję API
Możesz uzyskać darmową tymczasową licencję na korzystanie z Aspose.Email for .NET bez ograniczeń ewaluacyjnych.
Wniosek
W tym artykule nauczyłeś się przenosić wiadomości e-mail do określonego folderu w programie Microsoft Exchange Server przy użyciu języka C#. Ponadto widziałeś, jak przenieść nowo utworzoną wiadomość e-mail do określonego folderu w Exchange Server. Poza tym możesz przejrzeć dokumentację, aby dowiedzieć się więcej o Aspose.Email for .NET. Możesz także zadawać pytania za pośrednictwem naszego forum.