Microsoft Exchange Server — это сервер электронной почты и календаря, который предоставляет различные службы совместной работы, такие как электронная почта, календари, управление контактами и т. д. В одной из моих публикаций я показал вам, как получать доступ к электронной почте и читать ее. из Microsoft Exchange Server программно на Java. Однако нам часто нужен список контактов, который есть на сервере MS Exchange. Итак, в этой статье вы узнаете, как добавлять, удалять или обновлять контакты на Microsoft Exchange Server в Java.
- Java API для доступа к контактам на сервере MS Exchange
- Добавить контакты на сервер MS Exchange
- Удалить контакты с сервера MS Exchange
- Обновите контакт на сервере MS Exchange
Java API для доступа к контактам на сервере MS Exchange
Aspose.Email для Java — популярный API для реализации клиентских приложений электронной почты на Java. Кроме того, он позволяет вам работать с MS Exchange Server и управлять контактами, электронной почтой и элементами беседы. Мы будем использовать этот API для добавления, обновления и удаления контактов на сервере Exchange. Вы можете либо скачать 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 в Java
Вы также можете удалить контакт с сервера MS Exchange. Для фильтрации контактов вы можете использовать имя, адрес электронной почты или любое другое подходящее свойство. Ниже приведены шаги по удалению контакта с Microsoft Exchange Server в Java.
- Сначала создайте и инициализируйте объект IEWSClient.
- Затем получите все контакты с MS Exchange Server, используя метод IEWSClient.getContacts(EWSClient.getMailboxInfo().getContactsUri()).
- Прокрутите контакты и отфильтруйте нужные.
- В конце удалите контакт с помощью метода IEWSClient.deleteItem(Contact.getId().getEWSId(), DeletionOptions.getDeletePermanently()).
В следующем примере кода показано, как удалить контакты из 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 в Java
Aspose.Email для Java также позволяет обновлять контакт на сервере MS Exchange. Ниже приведены шаги для выполнения этой операции.
- Сначала создайте и инициализируйте объект NetworkCredential с именем пользователя, паролем и доменом.
- Затем инициализируйте IEWSClient с помощью URI почтового ящика и объекта NetworkCredential.
- Получите контакты с Exchange Server, используя метод IEWSClient.getContacts(EWSClient.getMailboxInfo().getContactsUri()).
- После этого прокручиваем контакты и фильтруем нужный контакт.
- Наконец, обновите свойства контакта и вызовите IEWSClient.updateContact(Contact), чтобы сохранить его.
В следующем примере кода показано, как обновить контакт на сервере MS Exchange в 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 для Java без ограничений на пробную версию.
Вывод
В этой статье вы узнали, как работать с контактами на Microsoft Exchange Server в Java. Мы продемонстрировали, как добавлять, удалять и обновлять контакты с сервера MS Exchange в Java. Кроме того, вы можете изучить документацию, чтобы узнать больше об Aspose.Email для Java. Кроме того, вы можете оставлять свои вопросы на нашем форуме.