Aspose.EmailでMicrosoft Exchange Serverメールボックスの受信トレイフォルダーからメッセージのリストを取得する

Microsoft Outlook 用の Office Automation オブジェクトを使用するには、プロジェクトに Microsoft Office と Microsoft Office Interop for Outlook ライブラリへの参照を追加します。また、コードが実行されるマシンに Microsoft Office Outlook がインストールされている必要があります。

VSTO


 // Create Application class and get namespace

Outlook.Application outlook = new Outlook.Application();

Outlook.NameSpace ns = outlook.GetNamespace("Mapi");

object _missing = Type.Missing;

ns.Logon(_missing, _missing, false, true);

// Get Inbox information in objec of type MAPIFolder

Outlook.MAPIFolder inbox = ns.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);

// Unread emails

int unread = inbox.UnReadItemCount;

// Display the subject of emails in the Inbox folder

foreach (Outlook.MailItem mail in inbox.Items)

{

	Console.WriteLine(mail.Subject);

}

Aspose.Email

ただし、コードが実行されるマシンに Microsoft Outlook をインストールする必要はありません。Aspose.Email.dll を参照すれば、プロジェクトのビルドと実行が成功します。


 // Create instance of ExchangeClient class by giving credentials

ExchangeClient client = new ExchangeClient("http://MachineName/exchange/Username",

				"username", "password", "domain");

// Call ListMessages method to list messages info from Inbox

ExchangeMessageInfoCollection msgCollection = client.ListMessages(client.MailboxInfo.InboxUri);

// Loop through the collection to display the basic information

foreach (ExchangeMessageInfo msgInfo in msgCollection)

{

	Console.WriteLine("Subject: " + msgInfo.Subject);

	Console.WriteLine("From: " + msgInfo.From.ToString());

	Console.WriteLine("To: " + msgInfo.To.ToString());

	Console.WriteLine("Message ID: " + msgInfo.MessageId);

	Console.WriteLine("Unique URI: " + msgInfo.UniqueUri);

	Console.WriteLine("==================================");

}

サンプルコードをダウンロード