Dodaj lub usuń kontakty z Microsoft Exchange Server w Javie

Microsoft Exchange Server to serwer poczty e-mail i kalendarza, który zapewnia różne usługi współpracy, takie jak poczta e-mail, kalendarze, zarządzanie kontaktami itp. W jednym z moich postów pokazałem, jak uzyskiwać dostęp do wiadomości e-mail i je czytać z Microsoft Exchange Server programowo w Javie. Jednak często potrzebujemy listy kontaktów, którą mamy na serwerze MS Exchange. W tym artykule dowiesz się, jak dodawać, usuwać lub aktualizować kontakty w Microsoft Exchange Server w Javie.

Java API do uzyskiwania dostępu do kontaktów na serwerze MS Exchange

Aspose.Email for Java to popularny interfejs API do implementacji aplikacji klienta poczty e-mail w języku Java. Ponadto pozwala pracować z MS Exchange Server i manipulować kontaktami, wiadomościami e-mail i elementami konwersacji. Będziemy używać tego interfejsu API do dodawania, aktualizowania i usuwania kontaktów na serwerze Exchange. Możesz pobrać plik JAR interfejsu API lub zainstalować go przy użyciu następujących konfiguracji Mavena.

Magazyn:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>

Zależność:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-email</artifactId>
    <version>22.2</version>
    <classifier>jdk16</classifier>
</dependency>

Dodaj kontakty do MS Exchange Server w Javie

Poniżej przedstawiono kroki dodawania kontaktów do programu Microsoft Exchange Server w języku Java.

  • Najpierw utwórz i zainicjuj obiekt NetworkCredential z nazwą użytkownika, hasłem i domeną.
  • Następnie zainicjuj IEWSClient za pomocą identyfikatora URI skrzynki pocztowej i obiektu NetworkCredential.
  • Utwórz obiekt klasy Kontakt i ustaw jego właściwości, takie jak imię i nazwisko, stanowisko, płeć, telefon, osoby z nim powiązane itp.
  • Na koniec wywołaj metodę EWSClient.createContact(Contact), aby dodać kontakt.

Poniższy przykładowy kod pokazuje, jak dodać kontakt do Microsoft Exchange Server w Javie.

// Ustaw URI skrzynki pocztowej, nazwę użytkownika, hasło, informacje o domenie
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);

// Utwórz nowy kontakt
Contact contact = new Contact();

// Ustaw informacje ogólne
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());

// Dodaj numery telefonów
contact.getPhoneNumbers().add(tmp0);
AssociatedPerson tmp1 = new AssociatedPerson();
tmp1.setName("Catherine");
tmp1.setCategory(AssociatedPersonCategory.getSpouse());

// Osoby powiązane z kontaktem
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());

// adresy 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());

// Ustaw adres e-mail kontaktu
contact.getEmailAddresses().add(tmp6);

try {
	// Stworzyć kontakt
	client.createContact(contact);
} catch (java.lang.RuntimeException ex) {
	System.out.println(ex.getMessage());
}

Usuń kontakty z MS Exchange Server w Javie

Możesz także usunąć kontakt z serwera MS Exchange. Aby filtrować kontakty, możesz użyć nazwy, adresu e-mail lub dowolnej innej odpowiedniej właściwości. Poniżej przedstawiono kroki, aby usunąć kontakt z Microsoft Exchange Server w Javie.

Poniższy przykładowy kod pokazuje, jak usunąć kontakty z Microsoft Exchange Server w Javie.

// Zainicjuj klienta EWS
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

// Nazwa Kontaktu
String strContactToDelete = "John Teddy";

// Zdobądź kontakty
Contact[] contacts = client.getContacts(client.getMailboxInfo().getContactsUri());

// Zapętlaj kontakty
for (Contact contact : contacts) {
    if (contact.getDisplayName().equals(strContactToDelete))
    	// Usuń kontakt
        client.deleteItem(contact.getId().getEWSId(), DeletionOptions.getDeletePermanently());
}
client.dispose();

Zaktualizuj kontakt na serwerze Exchange w Javie

Aspose.Email for Java umożliwia również aktualizację kontaktu na MS Exchange Server. Poniżej przedstawiono kroki, aby wykonać tę operację.

Poniższy przykładowy kod pokazuje, jak zaktualizować kontakt na MS Exchange Server w Javie.

// Ustaw URI skrzynki pocztowej, nazwę użytkownika, hasło, informacje o domenie
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);

// Zainicjuj klienta EWS
IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);

// Wyświetl listę wszystkich kontaktów i przejrzyj wszystkie kontakty
Contact[] contacts = client.getContacts(client.getMailboxInfo().getContactsUri());
Contact contact = contacts[0];

// Zaktualizuj dane kontaktowe
System.out.println("Name: " + contact.getDisplayName());
contact.setDisplayName("David Ch");
client.updateContact(contact);

Uzyskaj bezpłatną licencję API

Możesz uzyskać darmową tymczasową licencję na korzystanie z Aspose.Email for Java bez ograniczeń ewaluacyjnych.

Wniosek

W tym artykule nauczyłeś się pracować z kontaktami na Microsoft Exchange Server w Javie. Pokazaliśmy, jak dodawać, usuwać i aktualizować kontakty z MS Exchange Server w Javie. Poza tym możesz przejrzeć dokumentację, aby dowiedzieć się więcej o Aspose.Email dla Javy. Możesz również zamieścić swoje pytania na naszym forum.

Zobacz też