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
- Agregar contactos a MS Exchange Server
- Eliminar contactos de MS Exchange Server
- Actualizar un contacto en MS Exchange Server
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.
- Primero, cree e inicialice el objeto IEWSClient.
- Luego, obtenga todos los contactos de MS Exchange Server utilizando el método IEWSClient.getContacts(EWSClient.getMailboxInfo().getContactsUri()).
- Recorra los contactos y filtre los necesarios.
- Al final, elimine el contacto usando el método IEWSClient.deleteItem(Contact.getId().getEWSId(), DeletionOptions.getDeletePermanently()).
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.
- 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.
- Obtenga contactos de Exchange Server utilizando el método IEWSClient.getContacts(EWSClient.getMailboxInfo().getContactsUri()).
- Después de eso, recorra los contactos y filtre el contacto deseado.
- Finalmente, actualice las propiedades del contacto y llame a IEWSClient.updateContact(Contact) para guardarlo.
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.