Administrar contactos en archivos PST

Agregar y guardar contactos

Agregar contactos a PST

La sección Crear y administrar archivos PST muestra cómo crear un archivo PST y agregarle una subcarpeta. Con Aspose.Email puedes agregar un MapiContact a la subcarpeta Contacts de un archivo PST que hayas creado o cargado. A continuación se presentan los pasos para agregar MapiContact a un PST:

  1. Cree un MapiContact objeto.
  2. Establezca el Propiedades de MapiContact usando diferentes constructores y métodos.
  3. Crear un PST usando el PersonalStorage.Create() método.
  4. Crear una carpeta predefinida (Contactos) en la raíz del archivo PST accediendo a la carpeta raíz y luego llamando al AddMapiMessageItem() método.

El siguiente fragmento de código muestra cómo crear un MapiContact y luego agregarlo a la carpeta de contactos de un archivo PST recién creado.

// Create three Contacts 
var contact1 = new MapiContact("Sebastian Wright", "SebastianWright@dayrep.com");
var contact2 = new MapiContact("Wichert Kroos", "WichertKroos@teleworm.us", "Grade A Investment");
var contact3 = new MapiContact("Christoffer van de Meeberg", "ChristoffervandeMeeberg@teleworm.us", "Krauses Sofa Factory", "046-630-4614046-630-4614");

// Contact #4
var contact4 = new MapiContact{NameInfo = new MapiContactNamePropertySet("Margaret", "J.", "Tolle")};
contact4.PersonalInfo.Gender = MapiContactGender.Female;
contact4.ProfessionalInfo = new MapiContactProfessionalPropertySet("Adaptaz", "Recording engineer");
contact4.PhysicalAddresses.WorkAddress.Address = "4 Darwinia Loop EIGHTY MILE BEACH WA 6725";
contact4.ElectronicAddresses.Email1 = new MapiContactElectronicAddress("Hisen1988", "SMTP", "MargaretJTolle@dayrep.com");
contact4.Telephones.BusinessTelephoneNumber = "(08)9080-1183";
contact4.Telephones.MobileTelephoneNumber = "(925)599-3355(925)599-3355";

// Contact #5
var contact5 = new MapiContact{NameInfo = new MapiContactNamePropertySet("Matthew", "R.", "Wilcox")};
contact5.PersonalInfo.Gender = MapiContactGender.Male;
contact5.ProfessionalInfo = new MapiContactProfessionalPropertySet("Briazz", "Psychiatric aide");
contact5.PhysicalAddresses.WorkAddress.Address = "Horner Strasse 12 4421 SAASS";
contact5.Telephones.BusinessTelephoneNumber = "0650 675 73 300650 675 73 30";
contact5.Telephones.HomeTelephoneNumber = "(661)387-5382(661)387-5382";

// Contact #6
var contact6 = new MapiContact
{
    NameInfo = new MapiContactNamePropertySet("Bertha", "A.", "Buell"),
    ProfessionalInfo = new MapiContactProfessionalPropertySet("Awthentikz", "Social work assistant")
};
contact6.PersonalInfo.PersonalHomePage = "B2BTies.com";
contact6.PhysicalAddresses.WorkAddress.Address = "Im Astenfeld 59 8580 EDELSCHROTT";
contact6.ElectronicAddresses.Email1 = new MapiContactElectronicAddress("Experwas", "SMTP", "BerthaABuell@armyspy.com");
contact6.Telephones = new MapiContactTelephonePropertySet("06605045265");

using (PersonalStorage personalStorage = PersonalStorage.Create("SampleContacts_out.pst", FileFormatVersion.Unicode))
{
    var contactFolder = personalStorage.CreatePredefinedFolder("Contacts", StandardIpmFolder.Contacts);
    contactFolder.AddMapiMessageItem(contact1);
    contactFolder.AddMapiMessageItem(contact2);
    contactFolder.AddMapiMessageItem(contact3);
    contactFolder.AddMapiMessageItem(contact4);
    contactFolder.AddMapiMessageItem(contact5);
    contactFolder.AddMapiMessageItem(contact6);
}

Guardar contactos en formato MSG

Este artículo explica cómo acceder a la información de contacto de un archivo PST de Outlook y guardar el contacto en disco en formato MSG. Los pasos para obtener la información del contacto son:

  1. Cargar el archivo PST en el PersonalStorage objeto.
  2. Explorar la carpeta Contactos.
  3. Obtenga el contenido de la carpeta Contacts mediante un bucle a través de los mensajes.
  4. Verifique que el MessageInfo.MessageClass el valor de la propiedad coincide con "IPM.Contact".
  5. Llame al PersonalStorage.ExtractMessage() método para obtener el MapiMessage objeto.
  6. Llame al método MapiMessage.Save() para guardar el contacto en disco en formato MSG.

El siguiente fragmento de código le muestra cómo recuperar toda la información de contacto del archivo PST y guardarla en disco en formato MSG.

// Load the Outlook PST file
var pst = PersonalStorage.FromFile("SampleContacts.pst");

// Get the Contacts folder
var contactsFolder = pst.RootFolder.GetSubFolder("Contacts");

// Loop through all the contacts in this folder
foreach (MessageInfo messageInfo in contactsFolder.EnumerateMessages())
{
    if (messageInfo.MessageClass == "IPM.Contact")
    {
        // Get the contact information
        var msg = pst.ExtractMessage(messageInfo);
        
        // Save to disk in msg format
        string contactName = msg.Subject.Replace(":", " ").Replace("\\", " ").Replace("?", " ").Replace("/", " ");
        msg.Save($"{contactName}.msg", SaveOptions.DefaultMsgUnicode);
    }
}

Guardar contactos en formato VCF

Este artículo muestra cómo acceder a la información de contacto de un archivo PST de Microsoft Outlook y guardar el contacto en disco en formato vCard (VCF). Utilice la PersonalStorage y MapiContact clases para obtener la información de contacto del archivo PST. Para obtener la información del contacto:

  1. Cargar el archivo PST en el PersonalStorage clase.
  2. Explorar la carpeta Contactos.
  3. Obtenga el contenido de la carpeta Contacts mediante un bucle a través de los mensajes.
  4. Verifique que el MessageInfo.MessageClass el valor de la propiedad coincide con "IPM.Contact".
  5. Llame al PersonalStorage.ExtractMessage() método para obtener el MapiMessage objeto.
  6. Llame al MapiMessage.ToMapiMessageItem() y convertir el IMapiMessageItem a MapiContact tipo.
  7. Llame al MapiContact.Save() método para guardar el contacto en disco en formato VCard.

El programa a continuación carga un archivo PST desde el disco y guarda todos los contactos en formato vCard (VCF). Los archivos VCF pueden luego usarse en cualquier otro programa que pueda cargar el archivo de contactos vCard estándar. Si abre cualquier archivo VCF en Microsoft Outlook, se verá como el de la captura de pantalla a continuación.

todo:image_alt_text

El siguiente fragmento de código muestra cómo exportar contactos de Outlook PST al formato vCard (VCF).

// Load the Outlook PST file
var pst = PersonalStorage.FromFile("SampleContacts.pst");

// Get the Contacts folder
var contactsFolder = pst.RootFolder.GetSubFolder("Contacts");

// Loop through all the contacts in this folder
foreach (MessageInfo messageInfo in contactsFolder.EnumerateMessages())
{
    if (messageInfo.MessageClass == "IPM.Contact")
    {
        // Get the contact information
        var msg = pst.ExtractMessage(messageInfo);
        var contact = (MapiContact)msg.ToMapiMessageItem();

        // Display some contents on screen
        Console.WriteLine("Name: " + contact.NameInfo.DisplayName);

        // Save to disk in VCard format
        string contactName = contact.Subject.Replace(":", " ").Replace("\\", " ").Replace("?", " ").Replace("/", " ");
        contact.Save($"{contactName}.vcf", ContactSaveFormat.VCard);
    }
}

Ver también: Administrar listas de distribución en archivos PST