Microsoft Exchange Serverは、電子メール、カレンダー、連絡先などのさまざまなコラボレーションサービスを提供する人気のあるプラットフォームです。前の投稿では、MicrosoftExchangeServerからの電子メールの読み方を紹介しました。ただし、プログラムでExchangeServerの連絡先を操作する必要がある場合もあります。この記事では、C#.NETのMicrosoft Exchange Serverで連絡先を追加、削除、または更新する方法を学習します。
- MSExchangeServer上の連絡先にアクセスするための.NET API
- MSExchangeServerに連絡先を追加する
- MSExchangeServerから連絡先を削除する
- MSExchangeServerの連絡先を更新する
MS Exchange Server上の連絡先にアクセスするためのC#.NET API
Microsoft Exchange Serverの連絡先を操作するには、Aspose.Email for.NETを使用します。 .NETアプリケーション内からさまざまな電子メールクライアントと連携することはよく知られているAPIです。 APIのDLLをダウンロードするか、次のコマンドを使用してNuGetからインストールできます。
PM> Install-Package Aspose.Email
C#でMSExchangeServerに連絡先を追加する
以下は、C#でMicrosoftExchangeServerに連絡先を追加する手順です。
- まず、NetworkCredentialオブジェクトを作成し、ユーザー名、パスワード、およびドメインを使用して初期化します。
- 次に、メールボックスURIとNetworkCredentialオブジェクトを使用してIEWSClientを初期化します。
- Contactクラスのオブジェクトを作成し、名前、仕事、性別、電話番号、関係者などのプロパティを設定します。
- 最後に、EWSClient.CreateContact(Contact)を呼び出して連絡先を追加します。
次のコードサンプルは、C#でMicrosoftExchangeServerに連絡先を追加する方法を示しています。
string mailboxUri = "https://ex2010/ews/exchange.asmx";
string username = "test.exchange";
string password = "pwd";
string domain = "ex2010.local";
NetworkCredential credentials = new NetworkCredential(username, password, domain);
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
// 新しい連絡先を作成する
Contact contact = new Contact();
// 一般情報を設定する
contact.Gender = Gender.Male;
contact.DisplayName = "Frank Lin";
contact.CompanyName = "ABC Co.";
contact.JobTitle = "Executive Manager";
// 電話番号を追加する
contact.PhoneNumbers.Add(new PhoneNumber { Number = "123456789", Category = PhoneNumberCategory.Home });
// 連絡先の関係者
contact.AssociatedPersons.Add(new AssociatedPerson { Name = "Catherine", Category = AssociatedPersonCategory.Spouse });
contact.AssociatedPersons.Add(new AssociatedPerson { Name = "Bob", Category = AssociatedPersonCategory.Child });
contact.AssociatedPersons.Add(new AssociatedPerson { Name = "Merry", Category = AssociatedPersonCategory.Sister });
// URL
contact.Urls.Add(new Url { Href = "www.blog.com", Category = UrlCategory.Blog });
contact.Urls.Add(new Url { Href = "www.homepage.com", Category = UrlCategory.HomePage });
// 連絡先のメールアドレスを設定する
contact.EmailAddresses.Add(new EmailAddress { Address = "Frank.Lin@Abc.com", DisplayName = "Frank Lin", Category = EmailAddressCategory.Email1 });
try
{
client.CreateContact(contact);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
C#でMSExchangeServerから連絡先を削除する
MSExchangeServerから連絡先を削除することもできます。連絡先をフィルタリングするには、名前、電子メール、またはその他の適切なプロパティを使用できます。以下は、C#でMicrosoftExchangeServerから連絡先を削除する手順です。
- まず、IEWSClientオブジェクトを初期化します。
- 次に、IEWSClient.GetContacts(EWSClient.MailboxInfo.ContactsUri)メソッドを使用してMSExchangeServerから連絡先を取得します。
- 接点をループして、必要なものをフィルタリングします。
- 最後に、IEWSClient.DeleteItem(Contact.Id.EWSId、DeletionOptions.DeletePermanently)メソッドを使用して、フィルタリングされた連絡先を削除します。
次のコードサンプルは、C#でMicrosoftExchangeServerから連絡先を削除する方法を示しています。
// EWSClientを初期化します
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
string strContactToDelete = "John Teddy";
// 連絡先を取得する
Contact[] contacts = client.GetContacts(client.MailboxInfo.ContactsUri);
// フィルター接点
foreach (Contact contact in contacts)
{
// 連絡先を削除
if (contact.DisplayName.Equals(strContactToDelete))
client.DeleteItem(contact.Id.EWSId, DeletionOptions.DeletePermanently);
}
client.Dispose();
C#でExchangeServerの連絡先を更新する
Aspose.Email for .NETを使用して、MSExchangeServer上の連絡先を更新することもできます。この操作を実行する手順は次のとおりです。
- まず、NetworkCredentialオブジェクトを作成し、ユーザー名、パスワード、およびドメインを使用して初期化します。
- 次に、メールボックスURIとNetworkCredentialオブジェクトを使用してIEWSClientを初期化します。
- IEWSClient.GetContacts(EWSClient.MailboxInfo.ContactsUri)メソッドを使用してExchangeServerから連絡先を取得します。
- その後、接点をループして、目的の接点をフィルタリングします。
- 最後に、連絡先のプロパティを更新し、IEWSClient.UpdateContact(Contact)を呼び出して保存します。
次のコードサンプルは、C#でMSExchangeServerの連絡先を更新する方法を示しています。
string mailboxUri = "https://ex2010/ews/exchange.asmx";
string username = "test.exchange";
string password = "pwd";
string domain = "ex2010.local";
NetworkCredential credentials = new NetworkCredential(username, password, domain);
// EWSClientを初期化します
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
// すべての連絡先を一覧表示し、すべての連絡先をループします
Contact[] contacts = client.GetContacts(client.MailboxInfo.ContactsUri);
// 希望の連絡先を選択してください
Contact contact = contacts[0];
Console.WriteLine("Name: " + contact.DisplayName);
contact.DisplayName = "David Ch";
// 連絡先を更新
client.UpdateContact(contact);
無料のAPIライセンスを取得する
無料の一時ライセンスを取得して、評価の制限なしにAspose.Emailfor.NETを使用できます。
結論
この記事では、C#でMicrosoftExchangeServerの連絡先を操作する方法を学習しました。 C#でプログラムによってMS Exchange Serverから連絡先を追加、削除、および更新する方法を示しました。さらに、ドキュメントを調べて、Aspose.Emailfor.NETの詳細を読むことができます。また、フォーラムから質問することもできます。