Aggiungi o elimina contatti da Microsoft Exchange Server in Java

Microsoft Exchange Server è un server di posta elettronica e calendario che fornisce diversi servizi di collaborazione come e-mail, calendari, gestione dei contatti, ecc. In uno dei miei post, ti ho mostrato come accedere e leggere le e-mail da Microsoft Exchange Server a livello di codice in Java. Tuttavia, abbiamo spesso bisogno dell’elenco dei contatti che abbiamo su MS Exchange Server. Quindi in questo articolo imparerai come aggiungere, eliminare o aggiornare i contatti su Microsoft Exchange Server in Java.

API Java per accedere ai contatti su MS Exchange Server

Aspose.Email for Java è un’API popolare per implementare applicazioni client di posta elettronica in Java. Inoltre, ti consente di lavorare con MS Exchange Server e manipolare i contatti, le e-mail e gli elementi di conversazione. Utilizzeremo questa API per aggiungere, aggiornare ed eliminare contatti su Exchange Server. Puoi scaricare il JAR dell’API o installarlo utilizzando le seguenti configurazioni Maven.

Archivio:

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

Dipendenza:

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

Aggiungi contatti a MS Exchange Server in Java

Di seguito sono riportati i passaggi per aggiungere contatti a Microsoft Exchange Server in Java.

  • Innanzitutto, crea e inizializza l’oggetto NetworkCredential con nome utente, password e dominio.
  • Quindi, inizializzare IEWSClient con l’URI della cassetta postale e l’oggetto NetworkCredential.
  • Crea un oggetto della classe Contact e imposta le sue proprietà come nome, lavoro, sesso, telefono, persone associate, ecc.
  • Infine, chiama il metodo EWSClient.createContact(Contact) per aggiungere il contatto.

Nell’esempio di codice riportato di seguito viene illustrato come aggiungere un contatto a Microsoft Exchange Server in Java.

// Imposta l'URI della casella di posta, il nome utente, la password, le informazioni sul dominio
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);

// Crea nuovo contatto
Contact contact = new Contact();

// Imposta informazioni generali
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());

// Aggiungi numeri di telefono
contact.getPhoneNumbers().add(tmp0);
AssociatedPerson tmp1 = new AssociatedPerson();
tmp1.setName("Catherine");
tmp1.setCategory(AssociatedPersonCategory.getSpouse());

// Persone associate del contatto
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());

// Imposta l'indirizzo email del contatto
contact.getEmailAddresses().add(tmp6);

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

Elimina i contatti da MS Exchange Server in Java

È inoltre possibile eliminare un contatto da MS Exchange Server. Per filtrare i contatti, puoi utilizzare il nome, l’e-mail o qualsiasi altra proprietà adatta. Di seguito sono i passaggi per eliminare un contatto da Microsoft Exchange Server in Java.

Nell’esempio di codice seguente viene illustrato come eliminare i contatti da Microsoft Exchange Server in Java.

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

// Nome del contatto
String strContactToDelete = "John Teddy";

// Ottieni contatti
Contact[] contacts = client.getContacts(client.getMailboxInfo().getContactsUri());

// Passa attraverso i contatti
for (Contact contact : contacts) {
    if (contact.getDisplayName().equals(strContactToDelete))
    	// Elimina contatto
        client.deleteItem(contact.getId().getEWSId(), DeletionOptions.getDeletePermanently());
}
client.dispose();

Aggiorna un contatto su Exchange Server in Java

Aspose.Email per Java consente anche di aggiornare un contatto su MS Exchange Server. Di seguito sono riportati i passaggi per eseguire questa operazione.

L’esempio di codice seguente mostra come aggiornare un contatto su MS Exchange Server in Java.

// Imposta l'URI della casella di posta, il nome utente, la password, le informazioni sul dominio
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);

// Inizializza il client EWS
IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);

// Elenca tutti i contatti e Scorri tutti i contatti
Contact[] contacts = client.getContacts(client.getMailboxInfo().getContactsUri());
Contact contact = contacts[0];

// Aggiorna i dettagli di contatto
System.out.println("Name: " + contact.getDisplayName());
contact.setDisplayName("David Ch");
client.updateContact(contact);

Ottieni una licenza API gratuita

Puoi ottenere una licenza temporanea gratuita per utilizzare Aspose.Email per Java senza limitazioni di valutazione.

Conclusione

In questo articolo hai imparato a lavorare con i contatti su Microsoft Exchange Server in Java. Abbiamo dimostrato come aggiungere, rimuovere e aggiornare i contatti da MS Exchange Server in Java. Inoltre, puoi esplorare la documentazione per saperne di più su Aspose.Email per Java. Inoltre, puoi pubblicare le tue domande sul nostro forum.

Guarda anche