Trabajar con contactos de Outlook

Crear, guardar y leer contactos

Al igual que MapiMessage, Aspose.Email te permite crear contactos de Outlook. El MapiContact La clase proporciona todas las propiedades relacionadas con los contactos necesarias para crear un contacto de Outlook. En este artículo se muestra cómo crear, guardar y leer un contacto de Outlook mediante MapiContact class.

Crear y guardar contactos de Outlook

Para crear un contacto y guardarlo en un disco:

  1. Crea una instancia de un nuevo objeto del MapiContact class.
  2. Introduzca la información de contacto de la propiedad.
  3. Agregue datos fotográficos (si los hay).
  4. Guarda el contacto en formato MSG o vCard.

El siguiente fragmento de código muestra cómo crear y guardar contactos de Outlook.

Guarde la lista de distribución de Mapi en un único archivo VCF de múltiples contactos

El ejemplo de código que aparece a continuación muestra cómo guardar una lista de distribución en un archivo VCF con varios contactos:

// convert the `msg` object to a `MapiMessage` object
var dlist = (MapiDistributionList)msg.ToMapiMessageItem();

//save the distribution list
var options = new MapiDistributionListSaveOptions(ContactSaveFormat.VCard);
dlist.Save("distribution_list.vcf", options);

Guardar contacto en formato VCF de la versión 3

Para guardar el contacto en el formato VCF de la versión 3, utilice VCardVersion enumerable para establecer el VCardSaveOptions.Version propiedad. El siguiente código de ejemplo demuestra el uso de VCardVersion enumerable para guardar el formato VCF versión 3 del contacto:


Lectura de un MapiContact

The MapiContact la clase se puede usar para cargar contactos en formato MSG y vCard de Outlook. El siguiente fragmento de código muestra cómo cargar los contactos de Outlook guardados como MSG y VCF en un MapiContact.

Cargar un contacto desde MSG

El siguiente fragmento de código muestra cómo cargar contactos desde MSG.

Cargar un contacto desde vCard

El siguiente fragmento de código muestra cómo cargar contactos desde vCard.

Carga de un contacto desde vCard con codificación especificada

El siguiente fragmento de código muestra cómo cargar contactos desde vCard con la codificación especificada.

Guardar elementos de contacto de vCard con una codificación especificada

Personalice el comportamiento de guardado cuando trabaje con archivos vCard mediante VCardSaveOptions clase. El PreferredTextEncoding La propiedad de la clase especificará la codificación que se utilizará al guardar los elementos de contacto de vCard.

El siguiente ejemplo de código muestra cómo implementar esta propiedad en su proyecto:

var cont = VCardContact.Load(fileName, Encoding.UTF8);
var opt = new VCardSaveOptions();
opt.PreferredTextEncoding = Encoding.UTF8;
cont.Save("my.vcard", opt);

Guardar archivos vCard con campos extendidos

The UseExtensions La propiedad le permite controlar si los campos extendidos se pueden usar al guardar archivos vCard. Si se establece en verdadero (valor predeterminado), se permiten las extensiones, lo que proporciona compatibilidad con campos personalizados e información de contacto adicional.

Lectura de varios contactos en formato vCard

Nuestra biblioteca permite obtener la lista de todos los contactos desde una vCard. Puede hacerlo siguiendo los siguientes métodos y pasos:

// Checks whether VCard source stream contains multiple contacts.
VCardContact.IsMultiContacts(Stream stream)

// Loads list of all contacts from VCard file.
VCardContact.LoadAsMultiple(string filePath, Encoding encoding)

// Loads list of all contacts from VCard stream.
VCardContact.LoadAsMultiple(Stream stream, Encoding encoding)

El siguiente fragmento de código muestra cómo gestionar los archivos vCard que contienen varios contactos:

using (FileStream stream = new FileStream("test.vcf", FileMode.Open, FileAccess.Read))
{
    if(VCardContact.IsMultiContacts(stream))
    {
        List<VCardContact> contacts = VCardContact.LoadAsMultiple(stream, Encoding.UTF8);
    }
}

Representación de la información de contacto en MHTML

Outlook Contact se puede convertir a MHTML mediante la API Aspose.Email. Este ejemplo muestra cómo se carga una vCard en MapiContact y luego se convirtió a MHTML con la ayuda de MailMessage API.