Trabalhando com Contatos em Arquivo PST
Adicionando Contato ao PST
Criar um Novo Arquivo PST e Adicionar Subpastas mostrou como criar um arquivo PST e adicionar uma subpasta a ele. Com Aspose.Email, você pode adicionar um MapiContact à subpasta Contatos de um arquivo PST que você criou ou carregou. Abaixo estão os passos para adicionar MapiContact a um PST:
- Crie um objeto MapiContact.
- Defina as propriedades do MapiContact usando diferentes construtores e métodos.
- Crie um PST usando o método PersonalStorage.create().
- Crie uma pasta pré-definida (Contatos) na raiz do arquivo PST acessando a pasta raiz e, em seguida, chamando o método add_mapi_message_item().
O seguinte trecho de código mostra como criar um MapiContact e depois adicioná-lo à pasta de contatos de um arquivo PST recém-criado.
For complete examples and data files, please go to https://github.com/aspose-email/aspose-email-python-dotnet | |
# Create three Contacts | |
contact1 = MapiContact("Sebastian Wright", "SebastianWright@dayrep.com") | |
contact2 = MapiContact("Wichert Kroos", "WichertKroos@teleworm.us", "Grade A Investment") | |
contact3 = MapiContact("Christoffer van de Meeberg", "ChristoffervandeMeeberg@teleworm.us", "Krauses Sofa Factory", "046-630-4614046-630-4614") | |
# Contact 4 | |
contact4 = MapiContact() | |
contact4.name_info = MapiContactNamePropertySet("Margaret", "J.", "Tolle") | |
contact4.personal_info.gender = MapiContactGender.FEMALE | |
contact4.professional_info = MapiContactProfessionalPropertySet("Adaptaz", "Recording engineer") | |
contact4.physical_addresses.work_address.address = "4 Darwinia Loop EIGHTY MILE BEACH WA 6725" | |
contact4.electronic_addresses.email_1 = MapiContactElectronicAddress("Hisen1988", "SMTP", "MargaretJTolle@dayrep.com") | |
contact4.telephones.business_telephone_number = "(08)9080-1183" | |
contact4.telephones.mobile_telephone_number = "(925)599-3355(925)599-3355" | |
# Contact #5 | |
contact5 = MapiContact() | |
contact5.name_info = MapiContactNamePropertySet("Matthew", "R.", "Wilcox"); | |
contact5.personal_info.gender = MapiContactGender.MALE; | |
contact5.professional_info = MapiContactProfessionalPropertySet("Briazz", "Psychiatric aide"); | |
contact5.physical_addresses.work_address.address = "Horner Strasse 12 4421 SAASS"; | |
contact5.telephones.business_telephone_number = "0650 675 73 300650 675 73 30"; | |
contact5.telephones.home_telephone_number = "(661)387-5382(661)387-5382"; | |
# Contact #6 | |
contact6 = MapiContact(); | |
contact6.name_info = MapiContactNamePropertySet("Bertha", "A.", "Buell"); | |
contact6.professional_info = MapiContactProfessionalPropertySet("Awthentikz", "Social work assistant"); | |
contact6.personal_info.personal_home_page = "B2BTies.com"; | |
contact6.physical_addresses.work_address.address = "Im Astenfeld 59 8580 EDELSCHROTT"; | |
contact6.electronic_addresses.email_1 = MapiContactElectronicAddress("Experwas", "SMTP", "BerthaABuell@armyspy.com"); | |
contact6.telephones = MapiContactTelephonePropertySet("06605045265"); | |
personalStorage = PersonalStorage.create(dataDir + "SampleContacts_out.pst", FileFormatVersion.UNICODE) | |
contactFolder = personalStorage.create_predefined_folder("Contacts", StandardIpmFolder.CONTACTS) | |
contactFolder.add_mapi_message_item(contact1) | |
contactFolder.add_mapi_message_item(contact2); | |
contactFolder.add_mapi_message_item(contact3); | |
contactFolder.add_mapi_message_item(contact4); | |
contactFolder.add_mapi_message_item(contact5); | |
contactFolder.add_mapi_message_item(contact6); | |
personalStorage.dispose() |
Salvar informações de contatos do arquivo PST em formato MSG
Este artigo explica como acessar informações de contato de um arquivo PST do Outlook e salvar o contato no disco em formato MSG. As classes PersonalStorage e MapiContact são usadas para obter e exibir as informações de contato. Os passos para obter as informações de contato são:
- Carregar o arquivo PST na classe PersonalStorage.
- Navegar até a pasta Contatos.
- Obter o conteúdo da pasta Contatos para obter a coleção de mensagens.
- Percorrer a coleção de mensagens.
- Chamar o método PersonalStorage.extract_message() para obter as informações de contato na classe MapiMessage.
- Chamar o método MapiMessage.save() para salvar o contato no disco em formato MSG.
O seguinte trecho de código mostra como recuperar todas as informações de contato do arquivo PST e salvar no disco em formato MSG.
For complete examples and data files, please go to https://github.com/aspose-email/aspose-email-python-dotnet | |
pst = PersonalStorage.from_file(dataDir + "SampleContacts_out.pst") | |
folderInfo = pst.get_predefined_folder(StandardIpmFolder.CONTACTS) | |
messageInfoCollection = folderInfo.get_contents() | |
for messageInfo in messageInfoCollection: | |
# Get the contact information | |
mapi = pst.extract_message(messageInfo) | |
contact = mapi.to_mapi_message_item() | |
# Display some contents on screen | |
print("Name: " + contact.name_info.display_name) | |
#Save to disc in MSG Format | |
if contact.name_info.display_name is not None: | |
contact.save(dataDir + "Contacts\\" + contact.name_info.display_name + "_out.msg") | |
contact.save(dataDir + "Contacts\\" + contact.name_info.display_name + "_out.vcf", ContactSaveFormat.VCARD) |
Salvar informações de Contatos do arquivo PST em formato VCF
Este artigo mostra como acessar informações de contato de um arquivo PST do Microsoft Outlook e salvar o contato no disco em formato vCard (VCF). Use as classes PersonalStorage e MapiContact para obter informações de contato do arquivo PST. Para obter as informações de contato:
- Carregar o arquivo PST na classe PersonalStorage.
- Navegar até a pasta Contatos.
- Obter o conteúdo da pasta Contatos para obter a coleção de mensagens.
- Percorrer a coleção de mensagens.
- Chamar o método PersonalStorage.extract_message() para obter as informações de contato na classe MapiContact.
- Usar as diferentes propriedades da classe MapiContact para acessar as informações de contato.
O programa abaixo carrega um arquivo PST do disco e salva todos os contatos em formato vCard (VCF). Os arquivos VCF podem ser usados em qualquer outro programa que possa carregar o arquivo de contato vCard padrão. Se você abrir qualquer arquivo VCF no Microsoft Outlook, ele se parecerá com o da captura de tela abaixo.
![]() |
---|
O seguinte trecho de código mostra como exportar contatos do Outlook PST para o formato vCard (VCF). |
from aspose.email.storage.pst import PersonalStorage
from aspose.email.mapi import ContactSaveFormat
# Carregar o arquivo PST do Outlook
pst = PersonalStorage.from_file("my.pst")
# Obter a pasta Contatos
folder_info = pst.root_folder.get_sub_folder("Contacts")
# Percorrer todos os contatos nesta pasta
message_info_collection = folder_info.get_contents()
for message_info in message_info_collection:
# Obter as informações de contato
contact = pst.extract_message(message_info).to_mapi_message_item()
# Exibir algumas informações na tela
print("Nome: " + contact.name_info.display_name + " - " + message_info.entry_id_string)
# Salvar no disco em formato vCard VCF
contact.save("D:\\" + contact.name_info.display_name + ".vcf", ContactSaveFormat.V_CARD)
Trabalhando com Listas de Distribuição
É possível criar uma lista de distribuição usando a API Aspose.Email, que é uma coleção de vários contatos. Uma lista de distribuição pode ser salva no disco em formato MSG do Outlook e pode ser visualizada/manipulada abrindo-a no MS Outlook.
Criando e Salvando uma Lista de Distribuição
O seguinte trecho de código mostra como criar e salvar uma lista de distribuição.
For complete examples and data files, please go to https://github.com/aspose-email/aspose-email-python-dotnet | |
displayName1 = "Sebastian Wright" | |
email1 = "SebastianWright@dayrep.com" | |
displayName2 = "Wichert Kroos" | |
email2 = "WichertKroos@teleworm.us" | |
os.remove(dataDir + "CreateDistributionListInPST_out.pst") | |
personalStorage = PersonalStorage.create(dataDir + "CreateDistributionListInPST_out.pst", FileFormatVersion.UNICODE) | |
contactFolder = personalStorage.create_predefined_folder("Contacts", StandardIpmFolder.CONTACTS) | |
# Create contacts | |
strEntryId1 = contactFolder.add_mapi_message_item(MapiContact(displayName1, email1)) | |
strEntryId2 = contactFolder.add_mapi_message_item( MapiContact(displayName2, email2)) | |
member1 = MapiDistributionListMember(displayName1, email1) | |
member1.entry_id_type = MapiDistributionListEntryIdType.CONTACT | |
member1.entry_id = base64.b64decode( bytes(strEntryId1, "utf-8") ) | |
member2 = MapiDistributionListMember(displayName2, email2) | |
member2.entry_id_type = MapiDistributionListEntryIdType.CONTACT | |
member2.entry_id = base64.b64decode( bytes(strEntryId1, "utf-8") ) | |
members = MapiDistributionListMemberCollection() | |
members.append(member1) | |
members.append(member2) | |
distribution_list = MapiDistributionList("Contact list", members) | |
distribution_list.body = "Distribution List Body" | |
distribution_list.subject = "Sample Distribution List using Aspose.Email" | |
# Add distribution list to PST | |
contactFolder.add_mapi_message_item(distribution_list); |
Lendo uma Lista de Distribuição de um PST
O seguinte trecho de código mostra como ler uma lista de distribuição de um PST.
from aspose.email.mapi import MapiMessage
# Carregar a mensagem MAPI do arquivo
message = MapiMessage.load("dl.msg")
# Converter a mensagem para uma lista de distribuição MAPI
dlist = message.to_mapi_message_item()