Trabajando con Contactos de Outlook
Crear Contacto de Outlook
Aspose.Email para Java soporta la creación de contactos de Outlook (VCards) utilizando la clase MapiContact. MapiContact contiene muchos métodos, algunos de los cuales se indican a continuación.
- MapiContactElectronicAddressPropertySet contiene un conjunto de MapiContactElectronicAddress.
- MapiContactEventPropertySet
- MapiContactNamePropertySet
- MapiContactPersonalInfoPropertySet
- MapiContactPhysicalAddressPropertySet contiene un conjunto de MapiContactPhysicalAddress.
- MapiContactProfessionalPropertySet
- MapiContactTelephonePropertySet
Estructura de Contacto en Aspose.Email para Java
A continuación se muestra la jerarquía implementada para contactos en Aspose.Email para Java. El nombre de la clase relevante se indica junto a cada propiedad. Se proporcionan hipervínculos a la documentación en línea para referencia adicional.
- Contact (MapiContact)
- Direcciones Electrónicas (MapiContactElectronicAddressPropertySet)
- Email1 (MapiContactElectronicAddress)
- Tipo de Dirección
- Nombre para Mostrar
- Dirección de Correo Electrónico
- Número de Fax
- Email2
- Email3
- Fax en Casa
- Fax Primario
- Fax de Negocios
- Email1 (MapiContactElectronicAddress)
- Eventos (
MapiContactEventPropertySet
). A continuación se muestra un ejemplo de cómo establecer eventos.- Cumpleaños
- Aniversario de Boda
- Información del Nombre (
MapiContactNamePropertySet
)- Nombre para Mostrar
- Prefijo del Nombre para Mostrar
- Archivo Bajo
- Archivo Bajo ID
- Generación
- Nombre de Pila
- Iniciales
- Segundo Nombre
- Apodo
- Apellido
- Información Personal (MapiContactPersonalInfoPropertySet)
- Cuenta
- Página de Inicio de Negocios
- Nombre de Red de Computadora
- ID del Cliente
- Ubicación de Negocios Libre
- Sitio FTP
- Género
- Número de Identificación del Gobierno
- Pasatiempos
- HTML
- Dirección de Mensajería Instantánea
- Idioma
- Ubicación
- Notas
- Número de Identificación Organizacional
- Página de Inicio Personal
- Referido por Nombre
- Nombre del Cónyuge
- Dirección Física (MapiContactPhysicalAddressPropertySet)
- Dirección de Casa (MapiContactPhysicalAddress)
- Dirección
- Ciudad
- País
- Código del País
- Código Postal
- Apartado de Correos
- Estado o Provincia
- Otra Dirección
- Dirección de Trabajo
- Dirección de Casa (MapiContactPhysicalAddress)
- Información Profesional
- Asistente
- Nombre de la Empresa
- Nombre del Departamento
- Nombre del Gerente
- Ubicación de la Oficina
- Profesión
- Título
- Teléfonos (MapiContactTelephonePropertySet)
- Número de Teléfono del Asistente
- Número de Teléfono de Negocios2
- Número de Teléfono de Negocios
- Número de Teléfono de Callback
- Número de Teléfono del Automóvil
- Número de Teléfono Principal de la Empresa
- Número de Teléfono de Casa2
- Número de Teléfono de Casa
- Número ISDN
- Número de Teléfono Móvil
- Otro Número de Teléfono
- Número de Teléfono de Buscador
- Número de Teléfono Primario
- Número de Teléfono de Radio
- Número de Telex
- Número de Teléfono TTY/TDD
- Direcciones Electrónicas (MapiContactElectronicAddressPropertySet)
El siguiente código utiliza Aspose.Email para crear un contacto de Outlook y lo llena con nombre, propiedades profesionales, dirección física y correo electrónico. También muestra cómo agregar MapiContactEventPropertySet al contacto.
![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Figura: Un contacto de Microsoft Outlook codificado con Aspose.Email | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
|
Agregar Información de Evento de Contacto a un MapiContact
Microsoft Outlook permite a los usuarios agregar información de eventos a un contacto. El evento contiene el cumpleaños y el aniversario de boda. Aspose.Email proporciona la clase MapiContactEventPropertySet para agregar esta información a un contacto. Esto se elabora en el siguiente ejemplo.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java | |
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT")); | |
calendar.set(1990, Calendar.NOVEMBER, 1, 0, 0, 0); | |
Date birthday = calendar.getTime(); | |
calendar.set(2012, Calendar.NOVEMBER, 1, 0, 0, 0); | |
Date weddingDay = calendar.getTime(); | |
MapiContactEventPropertySet contactEventSet = new MapiContactEventPropertySet(); | |
contactEventSet.setBirthday(birthday); | |
contactEventSet.setWeddingAnniversary(weddingDay); | |
MapiContact contact = new MapiContact(); | |
contact.setEvents(contactEventSet); | |
contact.save(dataDir + "Contact_out.msg", ContactSaveFormat.Msg); |
Crear, Guardar y Leer Contactos de Outlook
Aspose.Email permite a los desarrolladores crear contactos de Microsoft Outlook así como mensajes de correo electrónico. La clase MapiContact proporciona todas las propiedades de contacto necesarias para crear un contacto de Outlook. Este artículo muestra cómo crear, guardar y leer un contacto de Outlook utilizando la clase MapiContact.
Crear y Guardar un MapiContact
Los siguientes pasos se pueden usar para crear y guardar un contacto en disco:
- Instanciar un nuevo objeto de la clase MapiContact.
- Ingresar información relacionada con varias propiedades del contacto.
- Agregar datos de foto al contacto, si los hay.
- Guardar el contacto en formato MSG o VCard.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java | |
MapiContact contact = new MapiContact("Sebastian Wright", "SebastianWright@dayrep.com"); | |
contact.setNameInfo(new MapiContactNamePropertySet("Bertha", "A.", "Buell")); | |
contact.setProfessionalInfo(new MapiContactProfessionalPropertySet("Awthentikz", "Social work assistant")); | |
contact.getPersonalInfo().setPersonalHomePage("B2BTies.com"); | |
contact.getPhysicalAddresses().getWorkAddress().setAddress("Im Astenfeld 59 8580 EDELSCHROTT"); | |
contact.getElectronicAddresses().setEmail1(new MapiContactElectronicAddress("Experwas", "SMTP", "BerthaABuell@armyspy.com")); | |
contact.setTelephones(new MapiContactTelephonePropertySet("06605045265")); | |
//Set Photo Data | |
File fi = new File(dataDir + "Desert.jpg"); | |
byte[] fileContent = Files.readAllBytes(fi.toPath()); | |
MapiContactPhoto photo = new MapiContactPhoto(fileContent, MapiContactPhotoImageFormat.Jpeg); | |
contact.setPhoto(photo); | |
//Save as MSG | |
contact.save(dataDir + "Contact_out.msg", ContactSaveFormat.Msg); |
Guardar Contacto en Formato VCF Versión 3
Para guardar el contacto en formato VCF versión 3, use el enumerable VCardVersion para establecer la propiedad VCardSaveOptions.Version. El siguiente código de ejemplo demuestra el uso del enumerable VCardVersion para guardar el contacto en formato VCF versión 3.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java | |
// The path to the resource directory. | |
String dataDir = Utils.getSharedDataDir(DistributionList.class) + "outlook/"; | |
MapiContact contact = new MapiContact(); | |
contact.setNameInfo(new MapiContactNamePropertySet("Jane", "A.", "Buell")); | |
contact.setProfessionalInfo(new MapiContactProfessionalPropertySet("Aspose Pty Ltd", "Social work assistant")); | |
contact.getPersonalInfo().setPersonalHomePage("Aspose.com"); | |
contact.getElectronicAddresses().setEmail1(new MapiContactElectronicAddress("test@test.com")); | |
contact.getTelephones().setHomeTelephoneNumber("06605040000"); | |
VCardSaveOptions opt = new VCardSaveOptions(); | |
opt.setVersion(VCardVersion.V30); | |
contact.save(dataDir + "V30.vcf", opt); |
Leer un MapiContact
La clase MapiContact se puede utilizar para cargar tanto archivos MSG de Microsoft Outlook como contactos en formato VCard. Los siguientes ejemplos de código muestran cómo cargar contactos de Outlook guardados como MSG y VCF en MapiContact.
Cargar un Contacto desde MSG
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java | |
MapiMessage msg = MapiMessage.fromFile(dataDir + "messageMapi.msg"); | |
MapiContact mapiContact = (MapiContact) msg.toMapiMessageItem(); |
Cargar un Contacto desde VCard
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java | |
MapiContact mapiContact = MapiContact.fromVCard(dataDir + "microsoft.vcf"); |
Cargar Contacto VCard con Codificación Especificada
Método Soportado: MapiContact.fromVCard(String, Encoding)
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java | |
MapiContact contactReadFromFile = MapiContact.fromVCard( "microsoft.vcf", StandardCharsets.UTF_8); |
Renderizando Información de Contacto a MHTML
El contacto de Outlook puede ser convertido a MHTML utilizando la API de Aspose.Email. Este ejemplo muestra cómo se carga un VCard en MapiContact y luego se convierte a MHTML con la ayuda de la API MailMessage.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java | |
String dataDir = Utils.getSharedDataDir(RenderingContactInformationToMhtml.class) + "outlook/"; | |
//Load VCF Contact and convert to MailMessage for rendering to MHTML | |
MapiContact contact = MapiContact.fromVCard(dataDir + "ContactsSaqib Razzaq.vcf"); | |
ByteArrayOutputStream os = new ByteArrayOutputStream(); | |
contact.save(os, ContactSaveFormat.Msg); | |
MapiMessage msg = MapiMessage.fromStream(new ByteArrayInputStream(os.toByteArray())); | |
MailConversionOptions op = new MailConversionOptions(); | |
MailMessage eml = msg.toMailMessage(op); | |
//Prepare the MHT format options | |
MhtSaveOptions mhtSaveOptions = new MhtSaveOptions(); | |
mhtSaveOptions.setCheckBodyContentEncoding(true); | |
mhtSaveOptions.setPreserveOriginalBoundaries(true); | |
mhtSaveOptions.setMhtFormatOptions(MhtFormatOptions.RenderVCardInfo | MhtFormatOptions.WriteHeader); | |
mhtSaveOptions.setRenderedContactFields(ContactFieldsSet.NameInfo | ContactFieldsSet.PersonalInfo | ContactFieldsSet.Telephones | ContactFieldsSet.Events); | |
eml.save(dataDir + "ContactsSaqib Razzaq_out.mhtml", mhtSaveOptions); | |
System.out.println("Execution Completed."); |