Agregar o eliminar contactos de Microsoft Exchange Server en Java

Microsoft Exchange Server es un servidor de correo electrónico y calendario que brinda diferentes servicios de colaboración como correo electrónico, calendarios, administración de contactos, etc. En una de mis publicaciones, le mostré cómo acceder y leer correos electrónicos desde Microsoft Exchange Server programáticamente en Java. Sin embargo, a menudo necesitamos la lista de contactos que tenemos en MS Exchange Server. Entonces, en este artículo, aprenderá cómo agregar, eliminar o actualizar contactos en Microsoft Exchange Server en Java.

API de Java para acceder a contactos en MS Exchange Server

Aspose.Email for Java es una API popular para implementar aplicaciones de cliente de correo electrónico en Java. Además, le permite trabajar con MS Exchange Server y manipular los contactos, correos electrónicos y elementos de conversación. Usaremos esta API para agregar, actualizar y eliminar contactos en Exchange Server. Puede descargar el JAR de la API o instalarlo usando las siguientes configuraciones de Maven.

Repositorio:

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

Dependencia:

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

Agregar contactos a MS Exchange Server en Java

Los siguientes son los pasos para agregar contactos a Microsoft Exchange Server en Java.

  • Primero, cree e inicialice el objeto NetworkCredential con nombre de usuario, contraseña y dominio.
  • Luego, inicialice IEWSClient con el URI del buzón y el objeto NetworkCredential.
  • Cree un objeto de la clase Contacto y configure sus propiedades, como nombre, trabajo, sexo, teléfono, personas asociadas, etc.
  • Finalmente, llame al método EWSClient.createContact(Contact) para agregar un contacto.

El siguiente ejemplo de código muestra cómo agregar un contacto a Microsoft Exchange Server en Java.

// Establecer URI de buzón, nombre de usuario, contraseña, información de 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);

// Crear nuevo contacto
Contact contact = new Contact();

// Establecer información general
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());

// Agregar números de teléfono
contact.getPhoneNumbers().add(tmp0);
AssociatedPerson tmp1 = new AssociatedPerson();
tmp1.setName("Catherine");
tmp1.setCategory(AssociatedPersonCategory.getSpouse());

// Personas asociadas del contacto
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());

// Establecer la dirección de correo electrónico del contacto
contact.getEmailAddresses().add(tmp6);

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

Eliminar contactos de MS Exchange Server en Java

También puede eliminar un contacto de MS Exchange Server. Para filtrar los contactos, puede usar el nombre, el correo electrónico o cualquier otra propiedad adecuada. Los siguientes son los pasos para eliminar un contacto de Microsoft Exchange Server en Java.

El siguiente ejemplo de código muestra cómo eliminar contactos de Microsoft Exchange Server en Java.

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

// Nombre de contacto
String strContactToDelete = "John Teddy";

// Obtener contactos
Contact[] contacts = client.getContacts(client.getMailboxInfo().getContactsUri());

// Bucle a través de contactos
for (Contact contact : contacts) {
    if (contact.getDisplayName().equals(strContactToDelete))
    	// Borrar contacto
        client.deleteItem(contact.getId().getEWSId(), DeletionOptions.getDeletePermanently());
}
client.dispose();

Actualizar un contacto en Exchange Server en Java

Aspose.Email for Java también le permite actualizar un contacto en MS Exchange Server. Los siguientes son los pasos para realizar esta operación.

El siguiente ejemplo de código muestra cómo actualizar un contacto en MS Exchange Server en Java.

// Establecer URI de buzón, nombre de usuario, contraseña, información de 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);

// Inicializar cliente EWS
IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);

// Enumere todos los contactos y recorra todos los contactos
Contact[] contacts = client.getContacts(client.getMailboxInfo().getContactsUri());
Contact contact = contacts[0];

// Actualizar datos de contacto
System.out.println("Name: " + contact.getDisplayName());
contact.setDisplayName("David Ch");
client.updateContact(contact);

Obtenga una licencia de API gratuita

Puede obtener una licencia temporal gratuita para usar Aspose.Email for Java sin limitaciones de evaluación.

Conclusión

En este artículo, ha aprendido a trabajar con contactos en Microsoft Exchange Server en Java. Hemos demostrado cómo agregar, eliminar y actualizar contactos de MS Exchange Server en Java. Además, puede explorar la documentación para leer más sobre Aspose.Email for Java. Además, puede publicar sus consultas en nuestro foro.

Ver también