Ajouter ou supprimer des contacts de Microsoft Exchange Server en Java

Microsoft Exchange Server est un serveur de messagerie et de calendrier qui fournit différents services de collaboration tels que la messagerie, les calendriers, la gestion des contacts, etc. Dans un de mes articles, je vous ai montré comment accéder aux e-mails et les lire à partir de Microsoft Exchange Server par programmation en Java. Cependant, nous avons souvent besoin de la liste de contacts que nous avons sur le serveur MS Exchange. Ainsi, dans cet article, vous apprendrez à ajouter, supprimer ou mettre à jour des contacts sur Microsoft Exchange Server en Java.

API Java pour accéder aux contacts sur MS Exchange Server

Aspose.Email for Java est une API populaire pour implémenter des applications client de messagerie en Java. De plus, il vous permet de travailler avec MS Exchange Server et de manipuler les contacts, les e-mails et les éléments de conversation. Nous utiliserons cette API pour ajouter, mettre à jour et supprimer des contacts sur Exchange Server. Vous pouvez soit télécharger le JAR de l’API ou l’installer en utilisant les configurations Maven suivantes.

Repository:

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

Dependency:

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

Ajouter des contacts à MS Exchange Server en Java

Voici les étapes pour ajouter des contacts à Microsoft Exchange Server en Java.

  • Tout d’abord, créez et initialisez l’objet NetworkCredential avec le nom d’utilisateur, le mot de passe et le domaine.
  • Ensuite, initialisez IEWSClient avec l’URI de la boîte aux lettres et l’objet NetworkCredential.
  • Créez un objet de classe Contact et définissez ses propriétés telles que le nom, le travail, le sexe, le téléphone, les personnes associées, etc.
  • Enfin, appelez la méthode EWSClient.createContact(Contact) pour ajouter un contact.

L’exemple de code suivant montre comment ajouter un contact à Microsoft Exchange Server en Java.

// Définir l'URI de la boîte aux lettres, le nom d'utilisateur, le mot de passe, les informations de domaine
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);

// Créer un nouveau contact
Contact contact = new Contact();

// Définir les informations générales
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());

// Ajouter des numéros de téléphone
contact.getPhoneNumbers().add(tmp0);
AssociatedPerson tmp1 = new AssociatedPerson();
tmp1.setName("Catherine");
tmp1.setCategory(AssociatedPersonCategory.getSpouse());

// Personnes associées du contact
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());

// Définir l'adresse e-mail du contact
contact.getEmailAddresses().add(tmp6);

try {
	// Créer un contact
	client.createContact(contact);
} catch (java.lang.RuntimeException ex) {
	System.out.println(ex.getMessage());
}

Supprimer des contacts de MS Exchange Server en Java

Vous pouvez également supprimer un contact du serveur MS Exchange. Pour filtrer les contacts, vous pouvez utiliser le nom, l’e-mail ou toute autre propriété appropriée. Voici les étapes pour supprimer un contact de Microsoft Exchange Server en Java.

L’exemple de code suivant montre comment supprimer des contacts de Microsoft Exchange Server en Java.

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

// Nom du contact
String strContactToDelete = "John Teddy";

// Obtenir des contacts
Contact[] contacts = client.getContacts(client.getMailboxInfo().getContactsUri());

// Parcourir les contacts
for (Contact contact : contacts) {
    if (contact.getDisplayName().equals(strContactToDelete))
    	// Supprimer le contact
        client.deleteItem(contact.getId().getEWSId(), DeletionOptions.getDeletePermanently());
}
client.dispose();

Mettre à jour un contact sur Exchange Server en Java

Aspose.Email for Java vous permet également de mettre à jour un contact sur MS Exchange Server. Voici les étapes pour effectuer cette opération.

  • Tout d’abord, créez et initialisez l’objet NetworkCredential avec le nom d’utilisateur, le mot de passe et le domaine.
  • Ensuite, initialisez IEWSClient avec l’URI de la boîte aux lettres et l’objet NetworkCredential.
  • Obtenez des contacts depuis Exchange Server à l’aide de la méthode IEWSClient.getContacts(EWSClient.getMailboxInfo().getContactsUri()).
  • Après cela, parcourez les contacts et filtrez le contact souhaité.
  • Enfin, mettez à jour les propriétés du contact et appelez IEWSClient.updateContact(Contact) pour l’enregistrer.

L’exemple de code suivant montre comment mettre à jour un contact sur MS Exchange Server en Java.

// Définir l'URI de la boîte aux lettres, le nom d'utilisateur, le mot de passe, les informations de domaine
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);

// Initialiser le client EWS
IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);

// Répertorier tous les contacts et parcourir tous les contacts
Contact[] contacts = client.getContacts(client.getMailboxInfo().getContactsUri());
Contact contact = contacts[0];

// Mettre à jour les coordonnées
System.out.println("Name: " + contact.getDisplayName());
contact.setDisplayName("David Ch");
client.updateContact(contact);

Obtenez une licence API gratuite

Vous pouvez obtenir une licence temporaire gratuite pour utiliser Aspose.Email for Java sans limitation d’évaluation.

Conclusion

Dans cet article, vous avez appris à utiliser des contacts sur Microsoft Exchange Server en Java. Nous avons montré comment ajouter, supprimer et mettre à jour des contacts à partir de MS Exchange Server en Java. En outre, vous pouvez explorer la documentation pour en savoir plus sur Aspose.Email for Java. Vous pouvez également poster vos questions sur notre forum.

Voir également