Додавання або видалення контактів із Microsoft Exchange Server у Java

Microsoft Exchange Server – це сервер електронної пошти та календарів, який надає різні служби співпраці, як-от електронна пошта, календарі, керування контактами тощо. В одній із моїх публікацій я показав вам, як отримати доступ до електронних листів і прочитати їх. із сервера Microsoft Exchange Server програмно на Java. Однак нам часто потрібен список контактів, який є на сервері MS Exchange. Тому в цій статті ви дізнаєтеся, як додавати, видаляти або оновлювати контакти на Microsoft Exchange Server у Java.

Java API для доступу до контактів на сервері MS Exchange

Aspose.Email for Java — це популярний API для реалізації поштових клієнтських програм на Java. Крім того, це дозволяє вам працювати з MS Exchange Server і маніпулювати контактами, електронними листами та елементами розмов. Ми використовуватимемо цей API для додавання, оновлення та видалення контактів на сервері Exchange Server. Ви можете завантажити JAR API або встановити його за допомогою наведених нижче конфігурацій 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>

Додайте контакти на сервер MS Exchange у Java

Нижче наведено кроки для додавання контактів до Microsoft Exchange Server у Java.

  • Спочатку створіть та ініціалізуйте об’єкт NetworkCredential з іменем користувача, паролем і доменом.
  • Потім ініціалізуйте IEWSClient за допомогою URI поштової скриньки та об’єкта NetworkCredential.
  • Створіть об’єкт класу Контакт і встановіть його властивості, такі як ім’я, робота, стать, телефон, пов’язані особи тощо.
  • Нарешті, викличте метод EWSClient.createContact(Contact), щоб додати контакт.

У наведеному нижче прикладі коду показано, як додати контакт до Microsoft Exchange Server у Java.

// Встановіть 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());
}

Видалити контакти з MS Exchange Server в Java

Ви також можете видалити контакт із сервера MS Exchange. Щоб відфільтрувати контакти, ви можете використовувати ім’я, адресу електронної пошти або будь-яку іншу відповідну властивість. Нижче наведено кроки для видалення контакту з Microsoft Exchange Server у Java.

У наведеному нижче прикладі коду показано, як видалити контакти з Microsoft Exchange Server у Java.

// Ініціалізація клієнта 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();

Оновіть контакт на сервері Exchange Server у Java

Aspose.Email for Java також дозволяє оновлювати контакт на сервері MS Exchange Server. Нижче наведено кроки для виконання цієї операції.

  • Спочатку створіть та ініціалізуйте об’єкт NetworkCredential з іменем користувача, паролем і доменом.
  • Потім ініціалізуйте IEWSClient за допомогою URI поштової скриньки та об’єкта NetworkCredential.
  • Отримайте контакти з Exchange Server за допомогою методу IEWSClient.getContacts(EWSClient.getMailboxInfo().getContactsUri()).
  • Після цього прокрутіть контакти та відфільтруйте потрібний контакт.
  • Нарешті, оновіть властивості контакту та викличте IEWSClient.updateContact(Contact), щоб зберегти його.

У наступному прикладі коду показано, як оновити контакт на сервері MS Exchange Server у Java.

// Встановіть 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

Ви можете отримати безкоштовну тимчасову ліцензію на використання Aspose.Email for Java без оціночних обмежень.

Висновок

У цій статті ви дізналися, як працювати з контактами на Microsoft Exchange Server у Java. Ми продемонстрували, як додавати, видаляти та оновлювати контакти з MS Exchange Server у Java. Крім того, ви можете переглянути документацію, щоб дізнатися більше про Aspose.Email for Java. Також ви можете опублікувати свої запити на нашому форумі.

Дивись також