C#を使用してMicrosoftExchangeServerのフォルダーに電子メールを移動する

Microsoft Exchange Serverは、電子メール、連絡先管理、予定表、およびその他のサービスを提供する、広く使用されているコラボレーションプラットフォームです。 前の投稿では、.NETアプリケーションでプログラムによってMSExchangeServerからの電子メールにアクセスして読み取る方法を示しました。ただし、ExchangeServer上のあるフォルダから別のフォルダに電子メールをコピーする必要がある場合もあります。これを実現するために、この記事では、C#.NETのMSExchangeServer上の特定のフォルダーに電子メールを移動する方法を示します。

Microsoft Exchange Serverで電子メールを移動するためのC#.NET API

MS Exchange Serverで電子メールを移動するには、Aspose.Email for.NETを使用します。 APIは、MSExchangeServerに接続して操作するための簡単な方法を提供します。 NuGetまたはダウンロードそのDLLを介してインストールできます。

PM> Install-Package Aspose.Email

電子メールをC#のMSExchangeServer上のフォルダーに移動する

以下は、C#でMSExchangeServer上の特定のフォルダーに電子メールを移動する手順です。

次のコードサンプルは、C#.NETのMSExchangeServer上のフォルダーに電子メールを移動する方法を示しています。

try
{
    // 資格情報を指定してEWSClientクラスのインスタンスを作成します
    IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

    // ListMessagesメソッドを呼び出して、受信トレイからのメッセージ情報を一覧表示します
    ExchangeMessageInfoCollection msgCollection = client.ListMessages(client.MailboxInfo.InboxUri);

    // コレクションをループしてメッセージURIを取得します
    foreach (ExchangeMessageInfo msgInfo in msgCollection)
    {
        if (msgInfo.From.Address.Contains("jhon.vick"))
        {
            String strMessageURI = msgInfo.UniqueUri;

            // 特定のフォルダにコピーする
            string newMessageUri = client.CopyItem(strMessageURI, client.MailboxInfo.DeletedItemsUri);
        }
    }                
}
catch (Exception ex)
{
    Console.WriteLine(ex.Message);
}

新しい電子メールをMSExchangeServer上のフォルダに移動する

新しく作成した電子メールをMSExchangeServerの特定のフォルダーに移動することもできます。この操作を実行する手順は次のとおりです。

次のコードサンプルは、新しい電子メールメッセージをMSExchangeServerのフォルダに移動する方法を示しています。

try
{
    // 資格情報を指定してEWSClientクラスのインスタンスを作成します
    IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

    // メッセージを作成する
    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");

    // メッセージURIを取得する
    string messageUri = client.AppendMessage(message);

    // メッセージをコピーする
    string newMessageUri = client.CopyItem(messageUri, client.MailboxInfo.OutboxUri);
}
catch (Exception ex)
{
    Console.WriteLine(ex.Message);
}

無料のAPIライセンスを取得する

無料の一時ライセンスを取得して、評価の制限なしにAspose.Emailfor.NETを使用できます。

結論

この記事では、C#を使用してMicrosoftExchangeServerの特定のフォルダーに電子メールを移動する方法を学習しました。さらに、新しく作成した電子メールメッセージをExchangeServerの特定のフォルダーに移動する方法を見てきました。さらに、ドキュメントを調べて、Aspose.Emailfor.NETの詳細を読むことができます。また、フォーラムから質問することもできます。

関連項目