C#でExchangeServerの共有メールボックスからメールを読む

Microsoft Exchange Serverは、電子メールを作成、送信、および管理するための便利な機能を多数提供します。これらの機能の1つは、複数のユーザーがアクセスできる共有メールボックスです。 .NETアプリケーション内からMSExchangeServerを操作しているときに、共有メールボックスから電子メールにアクセスする必要がある場合があります。したがって、この記事では、C#.NETを使用してMSExchangeServer上の共有メールボックスから電子メールメッセージを読み取る方法を学習します。

ExchangeServer上の共有メールボックスから電子メールを読み取るためのC#.NET API

Aspose.Email for .NETは、電子メールを作成、送信、および処理するためのさまざまな機能を提供する電子メール処理APIです。さらに、複雑なコードを記述せずにMSOutlookおよびExchangeServerを操作できます。このAPIを使用して、MSExchangeServer上の共有メールボックスから電子メールを読み取ります。次のコマンドを使用して、APIのDLLをダウンロードするか、NuGetからインストールできます。

PM> Install-Package Aspose.Email

C#のExchangeServer上の共有メールボックスから電子メールを読み取る

以下は、C#のEWSクライアントを使用してMSExchangeServerの共有メールボックスから電子メールを読み取る手順です。

  • ネットワーククレデンシャルを指定します。
  • Exchange Serverに接続し、EWSクライアントのインスタンスをIEWSClientオブジェクトに取得します。
  • IEWSClient.ListItems(String, String)メソッドを使用して、目的のフォルダーから配列に電子メールを取得します。
  • 配列内の各電子メールをループして、次の手順を実行します。

次のコードサンプルは、C#のMSExchangeServer上の共有メールボックスから電子メールメッセージを読み取る方法を示しています。

const string mailboxUri = "<HOST>";
const string domain = "";
const string username = "<EMAIL ADDRESS>";
const string password = "<PASSWORD>";
const string sharedEmail = "<SHARED EMAIL ADDRESS>";

// クレデンシャルを設定する
NetworkCredential credentials = new NetworkCredential(username, password, domain);

// サーバーに接続する
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);

// メールアイテムを取得する
string[] items = client.ListItems(sharedEmail, "Inbox");

// メールをループして各メッセージを取得する
foreach (string item in items)
{
    MapiMessage msg = client.FetchItem(item);
    Console.WriteLine("Subject:" + msg.Subject);
}

client.Dispose();

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

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

結論

この記事では、C#でMicrosoftExchangeServerの共有メールボックスから電子メールメッセージを読み取る方法を学習しました。この機能を.NETアプリケーションに統合するには、APIをインストールして、提供されているコードサンプルを使用するだけです。さらに、ドキュメントからAspose.Emailfor.NETの他の機能について読むことができます。また、フォーラムから質問することもできます。

関連項目