Trabalhando com Contatos do Outlook
Criando, Salvando e Lendo Contatos
Assim como o MapiMessage, o Aspose.Email permite que você crie contatos do Outlook. A classe MapiContact fornece todas as propriedades relacionadas ao contato necessárias para criar um contato do Outlook. Este artigo mostra como criar, salvar e ler um contato do Outlook usando a classe MapiContact.
Criar e Salvar Contato do Outlook
Para criar um contato e salvá-lo no disco:
- Instancie um novo objeto da classe MapiContact.
- Insira as informações da propriedade do contato.
- Adicione os dados da foto (se houver).
- Salve o contato no formato MSG ou VCard.
O seguinte trecho de código mostra como criar e salvar um contato do Outlook.
Salvar Lista de Distribuição Mapi em um Único Arquivo VCF de Múltiplos Contatos
O exemplo de código abaixo demonstra como salvar uma lista de distribuição em um arquivo VCF de múltiplos contatos:
// converte o objeto `msg` para um objeto `MapiMessage`
var dlist = (MapiDistributionList)msg.ToMapiMessageItem();
//salvar a lista de distribuição
var options = new MapiDistributionListSaveOptions(ContactSaveFormat.VCard);
dlist.Save("distribution_list.vcf", options);
Salvar Contato no Formato VCF versão 3
Para salvar o contato no formato VCF versão 3, use o enumerador VCardVersion para definir a propriedade VCardSaveOptions.Version. O seguinte código de amostra demonstra o uso do VCardVersion enumerador para salvar o contato no formato VCF versão 3:
Lendo um MapiContact
A classe MapiContact pode ser usada para carregar contatos do Outlook nos formatos MSG e VCard. O seguinte trecho de código mostra como carregar contatos do Outlook salvos como MSG e VCF em um MapiContact.
Carregando um Contato de MSG
O seguinte trecho de código mostra como carregar contatos de MSG.
Carregando um Contato de VCard
O seguinte trecho de código mostra como carregar contatos de VCard.
Carregando um Contato de VCard com Codificação Especificada
O seguinte trecho de código mostra como carregar contatos de VCard com a codificação especificada.
Salvando Itens de Contato VCard com Codificação Especificada
Personalize o comportamento de salvamento ao trabalhar com arquivos VCard usando a classe VCardSaveOptions. A propriedade PreferredTextEncoding da classe especificará a codificação a ser usada ao salvar itens de contato VCard.
O seguinte exemplo de código mostra como implementar essa propriedade em seu projeto:
var cont = VCardContact.Load(fileName, Encoding.UTF8);
var opt = new VCardSaveOptions();
opt.PreferredTextEncoding = Encoding.UTF8;
cont.Save("my.vcard", opt);
Salvando Arquivos VCard com Campos Estendidos
A propriedade UseExtensions permite controlar se campos estendidos podem ser usados ao salvar arquivos vCard. Quando definida como verdadeira (padrão), extensões são permitidas, proporcionando compatibilidade com campos personalizados e informações adicionais de contato.
Lendo Múltiplos Contatos em formato VCard
Nossa biblioteca torna possível obter a lista de todos os contatos de um VCard. Isso pode ser feito usando os seguintes métodos e etapas:
// Verifica se o fluxo de origem VCard contém múltiplos contatos.
VCardContact.IsMultiContacts(Stream stream)
// Carrega a lista de todos os contatos do arquivo VCard.
VCardContact.LoadAsMultiple(string filePath, Encoding encoding)
// Carrega a lista de todos os contatos do fluxo VCard.
VCardContact.LoadAsMultiple(Stream stream, Encoding encoding)
O seguinte trecho de código demonstra como lidar com arquivos VCard que contêm múltiplos contatos:
using (FileStream stream = new FileStream("test.vcf", FileMode.Open, FileAccess.Read))
{
if(VCardContact.IsMultiContacts(stream))
{
List<VCardContact> contacts = VCardContact.LoadAsMultiple(stream, Encoding.UTF8);
}
}
Renderizando Informações de Contato para MHTML
Contatos do Outlook podem ser convertidos para MHTML usando a API Aspose.Email. Este exemplo mostra como um VCard é carregado em MapiContact e, em seguida, convertido para MHTML com a ajuda da API MailMessage.