Microsoft Exchange Server는 이메일, 캘린더, 연락처 관리 등과 같은 다양한 협업 서비스를 제공하는 이메일 및 캘린더 서버입니다. 내 게시물 중 하나에서 이메일에 액세스하고 읽는 방법을 보여 드렸습니다. Java에서 프로그래밍 방식으로 Microsoft Exchange Server에서. 그러나 종종 MS Exchange Server에 있는 연락처 목록이 필요합니다. 따라서 이 기사에서는 Java로 Microsoft Exchange Server에서 연락처를 추가, 삭제 또는 업데이트하는 방법을 배웁니다.
- MS Exchange Server의 연락처에 액세스하는 Java API
- MS Exchange 서버에 연락처 추가
- MS Exchange 서버에서 연락처 삭제
- MS Exchange Server에서 연락처 업데이트
MS Exchange Server의 연락처에 액세스하는 Java API
Aspose.Email for Java는 Java에서 이메일 클라이언트 애플리케이션을 구현하는 인기 있는 API입니다. 또한 MS Exchange Server로 작업하고 연락처, 이메일 및 대화 항목을 조작할 수 있습니다. 이 API를 사용하여 Exchange Server에서 연락처를 추가, 업데이트 및 삭제합니다. API의 JAR을 다운로드하거나 다음 Maven 구성을 사용하여 설치할 수 있습니다.
저장소:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
의존:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-email</artifactId>
<version>22.2</version>
<classifier>jdk16</classifier>
</dependency>
Java에서 MS Exchange Server에 연락처 추가
다음은 Java에서 Microsoft Exchange Server에 연락처를 추가하는 단계입니다.
- 먼저 사용자 이름, 암호 및 도메인을 사용하여 NetworkCredential 개체를 만들고 초기화합니다.
- 그런 다음 사서함 URI와 NetworkCredential 개체로 IEWSClient를 초기화합니다.
- Contact 클래스의 객체를 생성하고 이름, 직업, 성별, 전화번호, 관련 인물 등의 속성을 설정합니다.
- 마지막으로 EWSClient.createContact(Contact) 메서드를 호출하여 연락처를 추가합니다.
다음 코드 샘플은 Java에서 Microsoft Exchange Server에 연락처를 추가하는 방법을 보여줍니다.
// 사서함 URI, 사용자 이름, 암호, 도메인 정보 설정
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.setGender(Gender.Male);
contact.setDisplayName("Frank Lin");
contact.setCompanyName("ABC Co.");
contact.setJobTitle("Executive Manager");
PhoneNumber tmp0 = new PhoneNumber();
tmp0.setNumber("123456789");
tmp0.setCategory(PhoneNumberCategory.getHome());
// 전화번호 추가
contact.getPhoneNumbers().add(tmp0);
AssociatedPerson tmp1 = new AssociatedPerson();
tmp1.setName("Catherine");
tmp1.setCategory(AssociatedPersonCategory.getSpouse());
// 연락처의 관련자
contact.getAssociatedPersons().add(tmp1);
AssociatedPerson tmp2 = new AssociatedPerson();
tmp2.setName("Bob");
tmp2.setCategory(AssociatedPersonCategory.getChild());
contact.getAssociatedPersons().add(tmp2);
AssociatedPerson tmp3 = new AssociatedPerson();
tmp3.setName("Merry");
tmp3.setCategory(AssociatedPersonCategory.getSister());
contact.getAssociatedPersons().add(tmp3);
Url tmp4 = new Url();
tmp4.setHref("www.blog.com");
tmp4.setCategory(UrlCategory.getBlog());
// URL
contact.getUrls().add(tmp4);
Url tmp5 = new Url();
tmp5.setHref("www.homepage.com");
tmp5.setCategory(UrlCategory.getHomePage());
contact.getUrls().add(tmp5);
EmailAddress tmp6 = new EmailAddress();
tmp6.setAddress("Frank.Lin@Abc.com");
tmp6.setDisplayName("Frank Lin");
tmp6.setCategory(EmailAddressCategory.getEmail1());
// 연락처의 이메일 주소 설정
contact.getEmailAddresses().add(tmp6);
try {
// 연락처 만들기
client.createContact(contact);
} catch (java.lang.RuntimeException ex) {
System.out.println(ex.getMessage());
}
Java의 MS Exchange Server에서 연락처 삭제
MS Exchange Server에서 연락처를 삭제할 수도 있습니다. 연락처를 필터링하려면 이름, 이메일 또는 기타 적절한 속성을 사용할 수 있습니다. 다음은 Java의 Microsoft Exchange Server에서 연락처를 삭제하는 단계입니다.
- 먼저 IEWSClient 객체를 생성하고 초기화합니다.
- 그런 다음 IEWSClient.getContacts(EWSClient.getMailboxInfo().getContactsUri()) 메서드를 사용하여 MS Exchange Server에서 모든 연락처를 가져옵니다.
- 접점을 반복하고 필요한 항목을 필터링합니다.
- 마지막으로 IEWSClient.deleteItem(Contact.getId().getEWSId(), DeletionOptions.getDeletePermanently()) 메서드를 사용하여 연락처를 삭제합니다.
다음 코드 샘플은 Java의 Microsoft Exchange Server에서 연락처를 삭제하는 방법을 보여줍니다.
// EWS 클라이언트 초기화
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
// 담당자 이름
String strContactToDelete = "John Teddy";
// 연락처 가져오기
Contact[] contacts = client.getContacts(client.getMailboxInfo().getContactsUri());
// 연락처를 통해 루프
for (Contact contact : contacts) {
if (contact.getDisplayName().equals(strContactToDelete))
// 연락처 삭제
client.deleteItem(contact.getId().getEWSId(), DeletionOptions.getDeletePermanently());
}
client.dispose();
Java에서 Exchange Server의 연락처 업데이트
Aspose.Email for Java를 사용하면 MS Exchange Server에서 연락처를 업데이트할 수도 있습니다. 다음은 이 작업을 수행하는 단계입니다.
- 먼저 사용자 이름, 암호 및 도메인을 사용하여 NetworkCredential 개체를 만들고 초기화합니다.
- 그런 다음 사서함 URI와 NetworkCredential 개체로 IEWSClient를 초기화합니다.
- IEWSClient.getContacts(EWSClient.getMailboxInfo().getContactsUri()) 메서드를 사용하여 Exchange Server에서 연락처를 가져옵니다.
- 그런 다음 연락처를 반복하고 원하는 연락처를 필터링합니다.
- 마지막으로 연락처의 속성을 업데이트하고 IEWSClient.updateContact(Contact)를 호출하여 저장합니다.
다음 코드 샘플은 Java에서 MS Exchange Server의 연락처를 업데이트하는 방법을 보여줍니다.
// 사서함 URI, 사용자 이름, 암호, 도메인 정보 설정
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);
// EWS 클라이언트 초기화
IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);
// 모든 연락처를 나열하고 모든 연락처를 통해 루프
Contact[] contacts = client.getContacts(client.getMailboxInfo().getContactsUri());
Contact contact = contacts[0];
// 연락처 정보 업데이트
System.out.println("Name: " + contact.getDisplayName());
contact.setDisplayName("David Ch");
client.updateContact(contact);
무료 API 라이선스 받기
평가 제한 없이 Java용 Aspose.Email을 사용하기 위해 무료 임시 라이선스를 얻을 수 있습니다.
결론
이 기사에서는 Java로 Microsoft Exchange Server의 연락처로 작업하는 방법을 배웠습니다. Java의 MS Exchange Server에서 연락처를 추가, 제거 및 업데이트하는 방법을 시연했습니다. 또한 문서를 탐색하여 Java용 Aspose.Email에 대해 자세히 알아볼 수 있습니다. 또한 포럼에 질문을 게시할 수 있습니다.