
- Carregando Contato de Arquivos MSG
- Extraindo Detalhes do Contato
- Salvando Foto do Contato
- Salvando Contato em VCF
- Carregar contato de VCF
Gerenciar contatos de forma eficiente é vital para profissionais e empresas. Isso garante que você possa encontrar e se conectar facilmente com as pessoas certas quando precisar. Seja agendando reuniões, enviando e-mails ou compartilhando documentos, ter contatos organizados e atualizados pode melhorar significativamente sua produtividade.
Arquivos MSG são um formato comumente usado para armazenar mensagens de e-mail, contatos e outros itens. Extrair informações de contato de arquivos MSG do Outlook programaticamente pode ser uma tarefa crucial para vários cenários, como migração de dados ou processamento automatizado de dados. Neste artigo, exploraremos como carregar, extrair e salvar informações de contato de arquivos MSG do Outlook.
Começando com a API Avançada em C#
Para trabalhar com arquivos MSG, usaremos Aspose.Email for .NET. É uma biblioteca de processamento e gerenciamento de e-mail poderosa e versátil que fornece aos desenvolvedores um conjunto abrangente de ferramentas e funcionalidades para trabalhar com mensagens de e-mail, tarefas, calendários, contatos e várias tarefas relacionadas a e-mails dentro de aplicativos .NET. Portanto, antes de começarmos, certifique-se de que você tenha o Aspose.Email instalado e referenciado em seu projeto. Se você ainda não fez isso, pode baixar sua DLL ou instalá-la pelo NuGet.
Carregando Contato de Arquivos MSG
Para extrair informações de contato de um arquivo MSG, precisamos carregar o arquivo em um objeto MapiMessage
usando o método MapiMessage.Load
do Aspose.Email. Você pode carregar um contato em um MapiMessage e manipulá-lo como uma mensagem MAPI normal: ler propriedades, modificar, salvar, adicionar ao armazenamento, enviar. O seguinte exemplo de código mostrará como carregar e processar contatos do Outlook:
- Carregue um item de contato existente em um arquivo MSG usando o método MapiMessage.Load. Este método lê o conteúdo do arquivo MSG especificado e cria um objeto MapiMessage que representa a mensagem de e-mail.
- Defina o conteúdo do corpo HTML usando o método SetBodyContent para substituir o conteúdo.
- Especifique o parâmetro BodyContentType.Html, que indica que o conteúdo fornecido está no formato HTML. Isso garante que o conteúdo seja interpretado corretamente como HTML ao ser visualizado por clientes de e-mail.
- Salve o objeto MapiMessage modificado de volta em um arquivo MSG usando o método Save.
var msg = MapiMessage.Load("Lynna M. Dyer.msg");
msg.SetBodyContent("<!DOCTYPE html><html><body><h1>Lynna M. Dyer</h1></body></html>", BodyContentType.Html);
msg.Save("Lynna M. Dyer.msg");
Extraindo Detalhes do Contato
Uma vez que carregamos o arquivo MSG, podemos extrair detalhes do contato usando a classe MapiContact. O MapiContact fornece propriedades convenientes para acessar campos específicos do contato. O código fornecido demonstra como extrair e exibir informações de contato de um e-mail MSG.
- Comece verificando se o MSG é um item de contato. Use a propriedade SupportedType que indica o tipo de item do Outlook.
- Converta o objeto msg em um objeto
MapiContact
. Essa conversão permite o acesso a propriedades e métodos especializados específicos de itens de contato. - Recupere e exiba informações de contato. Neste exemplo, acessamos as propriedades DisplayName, Email, CompanyName e Title do objeto MapiContact, que representam o nome, endereço de e-mail, nome da empresa e cargo do contato, respectivamente. Você pode acessar outras propriedades do objeto
MapiContact
conforme suas necessidades.
if (msg.SupportedType == MapiItemType.Contact)
{
var contact = (MapiContact)msg.ToMapiMessageItem();
Console.WriteLine(contact.NameInfo.DisplayName);
Console.WriteLine(contact.ElectronicAddresses.Email1);
Console.WriteLine(contact.ProfessionalInfo.CompanyName);
Console.WriteLine(contact.ProfessionalInfo.Title);
}
Salvando Foto do Contato
Se o arquivo MSG contiver uma foto do contato, podemos salvá-la em um arquivo usando o seguinte código:
- Verifique se o contato tem uma foto. Isso é feito avaliando se a propriedade contact.Photo não é nula.
- Se uma foto estiver presente, o código prossegue para salvá-la como um arquivo.
if (contact.Photo != null)
{
System.IO.File.WriteAllBytes($"{contact.NameInfo.DisplayName}.{MapiContactPhotoImageFormat.Jpeg.ToString()}", contact.Photo.Data);
}
Salvando Contato em VCF
Além disso, muitas vezes é necessário converter o contato de MSG para um formato mais universal como VCARD. Um VCard (Virtual Contact File) é um formato de arquivo padrão usado para armazenar informações de contato. O seguinte exemplo de código demonstra como salvar um item de contato representado pelo objeto contact como um arquivo VCard:
O código usa o método Save do objeto de contato para iniciar o processo de salvar o contato como um VCard.
contact.Save("Lynna M. Dyer.vcf", ContactSaveFormat.VCard);
Carregar contato de VCF
Você também pode carregar um arquivo VCARD
existente em um objeto MapiContact
. O seguinte exemplo de código demonstra como carregar informações de contato de um VCard e criar um objeto MapiContact:
- O código começa usando o método MapiContact.FromVCard para carregar informações de contato de um VCard.
- A variável contact contém este novo objeto MapiContact, que pode ser usado para acessar e manipular os detalhes do contato programaticamente.
var contact = MapiContact.FromVCard("Lynna M. Dyer.vcf");
Conclusão
Neste artigo, exploramos como extrair informações de contato de arquivos MSG do Outlook programaticamente usando o Aspose.Email. Passamos pelo processo de carregar um arquivo MSG, extrair detalhes de contato usando a classe MapiContact e salvar o contato em diferentes formatos. O Aspose.Email simplifica o processo de trabalhar com arquivos MSG e fornece uma ampla gama de funcionalidades para lidar com dados de e-mail.
Lembre-se de modificar os caminhos dos arquivos e adaptar o código para atender às suas necessidades específicas. A abrangente documentação do Aspose.Email e os úteis fóruns da comunidade ajudarão ainda mais você a aproveitar suas capacidades para extrair informações de contato de forma eficaz.