C#의 Microsoft Exchange Server에서 연락처 추가 또는 삭제

Microsoft Exchange Server는 이메일, 캘린더, 연락처 등과 같은 다양한 협업 서비스를 제공하는 인기 있는 플랫폼입니다. 이전 게시물에서 Microsoft Exchange Server에서 이메일을 읽는 방법을 보여 드렸습니다. 그러나 프로그래밍 방식으로 Exchange Server의 연락처로 작업해야 할 수도 있습니다. 이 기사에서는 C# .NET의 Microsoft Exchange Server에서 연락처를 추가, 삭제 또는 업데이트하는 방법을 배웁니다.

MS Exchange Server의 연락처에 액세스하기 위한 C# .NET API

Microsoft Exchange Server의 연락처로 작업하려면 .NET용 Aspose.Email을 사용합니다. .NET 애플리케이션 내에서 다양한 이메일 클라이언트와 함께 작동하는 잘 알려진 API입니다. API의 DLL을 다운로드하거나 다음 명령을 사용하여 NuGet에서 설치할 수 있습니다.

PM> Install-Package Aspose.Email

C#에서 MS Exchange Server에 연락처 추가

다음은 C#에서 Microsoft Exchange Server에 연락처를 추가하는 단계입니다.

  • 먼저 사용자 이름, 비밀번호, 도메인으로 NetworkCredential 객체를 생성하고 초기화합니다.
  • 그런 다음 사서함 URI와 NetworkCredential 개체로 IEWSClient를 초기화합니다.
  • Contact 클래스의 객체를 생성하고 이름, 직업, 성별, 전화번호, 관련 인물 등의 속성을 설정합니다.
  • 마지막으로 EWSClient.CreateContact(Contact)을 호출하여 연락처를 추가합니다.

다음 코드 샘플은 C#에서 Microsoft Exchange Server에 연락처를 추가하는 방법을 보여줍니다.

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#의 MS Exchange Server에서 연락처 삭제

MS Exchange Server에서 연락처를 삭제할 수도 있습니다. 연락처를 필터링하려면 이름, 이메일 또는 기타 적절한 속성을 사용할 수 있습니다. 다음은 C#의 Microsoft Exchange Server에서 연락처를 삭제하는 단계입니다.

다음 코드 샘플은 C#의 Microsoft Exchange Server에서 연락처를 삭제하는 방법을 보여줍니다.

// 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#에서 Exchange Server의 연락처 업데이트

.NET용 Aspose.Email을 사용하여 MS Exchange Server에서 연락처를 업데이트할 수도 있습니다. 다음은 이 작업을 수행하는 단계입니다.

다음 코드 샘플은 C#에서 MS Exchange Server의 연락처를 업데이트하는 방법을 보여줍니다.

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.Email for .NET을 사용할 수 있는 무료 임시 라이선스를 얻을 수 있습니다.

결론

이 문서에서는 C#에서 Microsoft Exchange Server의 연락처로 작업하는 방법을 배웠습니다. C#에서 프로그래밍 방식으로 MS Exchange Server에서 연락처를 추가, 제거 및 업데이트하는 방법을 보여주었습니다. 또한 문서를 탐색하여 .NET용 Aspose.Email에 대해 자세히 알아볼 수 있습니다. 또한 포럼을 통해 질문할 수 있습니다.

또한보십시오