Microsoft Exchange Server je široce používaná platforma pro spolupráci, která poskytuje e-mail, správu kontaktů, kalendář a další služby. V předchozím příspěvku jsme vám ukázali, jak přistupovat a číst e-maily z MS Exchange Serveru programově v aplikaci .NET. Možná však budete muset také kopírovat e-maily z jedné složky do druhé na serveru Exchange. Abychom toho dosáhli, tento článek ukazuje, jak přesunout e-maily do konkrétní složky na MS Exchange Server v C# .NET.
- .NET API pro přesun e-mailů na Microsoft Exchange Server
- Přesunout existující e-mail do složky na MS Exchange Server
- Přesunout nový e-mail do složky na MS Exchange Server
C# .NET API pro přesun e-mailů na Microsoft Exchange Server
Pro přesun e-mailů na MS Exchange Server použijeme Aspose.Email for .NET. API poskytuje jednoduché způsoby, jak se připojit a pracovat s MS Exchange Server. Můžete jej nainstalovat přes NuGet nebo stáhnout jeho DLL.
PM> Install-Package Aspose.Email
Přesunout e-mail do složky na MS Exchange Server v C#
Následují kroky pro přesun e-mailů do konkrétní složky na MS Exchange Server v C#.
- Nejprve inicializujte objekt IEWSClient pomocí uživatelského jména, hesla, domény a URI.
- Poté pomocí metody IEWSClient.ListMessages(IEWSClient.MailboxInfo.InboxUri) získejte seznam e-mailových zpráv v objektu ExchangeMessageInfoCollection.
- Poté projděte každou zprávu ExchangeMessageInfo a vyfiltrujte požadovanou zprávu.
- Poté pomocí vlastnosti ExchangeMessageInfo.UniqueUri získejte URI zprávy, která se má přesunout.
- Nakonec přesuňte e-mailovou zprávu pomocí metody IEWSClient.CopyItem(string URI, IEWSClient.MailboxInfo.DeletedItemsUri).
Následující ukázka kódu ukazuje, jak přesunout e-mail do složky na MS Exchange Server v C# .NET.
try
{
// Vytvořte instanci třídy EWSClient zadáním přihlašovacích údajů
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
// Call ListMessages metoda pro výpis informací o zprávách z Inboxu
ExchangeMessageInfoCollection msgCollection = client.ListMessages(client.MailboxInfo.InboxUri);
// Procházejte kolekci a získejte URI zprávy
foreach (ExchangeMessageInfo msgInfo in msgCollection)
{
if (msgInfo.From.Address.Contains("jhon.vick"))
{
String strMessageURI = msgInfo.UniqueUri;
// Zkopírujte do konkrétní složky
string newMessageUri = client.CopyItem(strMessageURI, client.MailboxInfo.DeletedItemsUri);
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Přesunout nový e-mail do složky na MS Exchange Server
Nově vytvořený e-mail můžete také přesunout do konkrétní složky na MS Exchange Serveru. Následují kroky k provedení této operace.
- Nejprve inicializujte objekt IEWSClient pomocí uživatelského jména, hesla, domény a URI.
- Poté vytvořte novou zprávu pomocí třídy MailMessage.
- Poté získejte URI e-mailové zprávy vrácené metodou IEWSClient.AppendMessage(MailMessage).
- Nakonec přesuňte e-mailovou zprávu pomocí metody IEWSClient.CopyItem(string URI, IEWSClient.MailboxInfo.OutboxUri).
Následující ukázka kódu ukazuje, jak přesunout novou e-mailovou zprávu do složky na MS Exchange Server.
try
{
// Vytvořte instanci třídy EWSClient zadáním přihlašovacích údajů
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
// Vytvořit zprávu
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");
// Získejte URI zprávy
string messageUri = client.AppendMessage(message);
// Zkopírujte zprávu
string newMessageUri = client.CopyItem(messageUri, client.MailboxInfo.OutboxUri);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Získejte bezplatnou licenci API
Můžete získat bezplatnou dočasnou licenci k používání Aspose.Email pro .NET bez omezení hodnocení.
Závěr
V tomto článku jste se naučili, jak přesunout e-maily do konkrétní složky na Microsoft Exchange Server pomocí C#. Dále jste viděli, jak přesunout nově vytvořenou e-mailovou zprávu do konkrétní složky na Exchange Server. Kromě toho můžete prozkoumat dokumentaci a přečíst si více o Aspose.Email pro .NET. Také se můžete ptát na naše fórum.