Acessar e Gerenciar Propriedades MAPI do Outlook
MAPI properties são itens de metadados usados em mensagens do Microsoft Outlook, definindo atributos como remetente, destinatário, assunto, anexos e dados personalizados.
Aspose.Email for C++ permite que os desenvolvedores acessem, modifiquem e removam essas propriedades programaticamente em MapiMessage objetos, anexos e propriedades nomeadas.
O MapiProperty classe representa uma propriedade MAPI, que contém:
- Name – O identificador de string da propriedade.
- Tag – Um identificador numérico usado para referenciar a propriedade.
- Data – Um array de bytes que representa o valor da propriedade.
Ler Propriedades MAPI
Aspose.Email permite ler propriedades MAPI usando tags de propriedade.
O exemplo de código a seguir demonstra como ler e exibir a propriedade assunto de um arquivo de mensagem MAPI (.msg).
- Obtenha o caminho do diretório onde os arquivos de mensagem Outlook estão armazenados.
- Carregue o arquivo de mensagem Outlook ("message.msg") em um MapiMessage objeto.
- Acesse a coleção de propriedades MAPI da mensagem.
- Tente recuperar a propriedade assunto usando
PR_SUBJECT (ANSI)tag. - Se a propriedade assunto ANSI não for encontrada, tente recuperar a propriedade assunto Unicode usando
PR_SUBJECT_W. - Se a propriedade assunto existir, exiba seu valor string no console.
Definir propriedades MAPI
As propriedades MAPI podem ser definidas para mensagens ou destinatários a fim de especificar atributos personalizados, tipo de e‑mail ou status de sincronização.
O exemplo de código a seguir demonstra como criar uma mensagem MAPI, definir múltiplas propriedades MAPI personalizadas incluindo detalhes do remetente e do destinatário, bandeiras da mensagem e hora de modificação, e então salvar a mensagem em um arquivo.
Nota: O auxiliar ConvertDateTime() converte System::DateTime para um array de bytes de filetime compatível com MAPI para propriedades de data/hora da seguinte forma:
int64_t filetime = t.ToFileTime();
System::ArrayPtr<uint8_t> d = System::MakeArray<uint8_t>(8, 0);
d[0] = (uint8_t)(filetime & 0xFF);
d[1] = (uint8_t)((filetime & 0xFF00) >> 8);
d[2] = (uint8_t)((filetime & 0xFF0000) >> 16);
d[3] = (uint8_t)((filetime & 0xFF000000) >> 24);
d[4] = (uint8_t)((filetime & 0xFF00000000) >> 32);
d[5] = (uint8_t)((filetime & 0xFF0000000000) >> 40);
d[6] = (uint8_t)((filetime & 0xFF000000000000) >> 48);
d[7] = (uint8_t)(((uint64_t)filetime & 0xFF00000000000000) >> 56);
Ler Propriedades MAPI Nomeadas
Named MAPI properties são propriedades personalizadas adicionadas por usuários ou aplicativos.
Aspose.Email permite a leitura dessas propriedades de mensagens e anexos.
Leitura de Propriedades MAPI Nomeadas de Arquivos MSG
O exemplo de código a seguir demonstra como carregar um arquivo de mensagem MAPI, recuperar todas as suas propriedades MAPI nomeadas e iterar sobre elas para encontrar e exibir os valores de propriedades nomeadas específicas ("TEST" e "MYPROP"). Ele mostra como acessar propriedades personalizadas ou estendidas em uma mensagem MAPI enumerando a coleção de propriedades e processando condicionalmente as propriedades com base em seus identificadores de nome.
Acessando Propriedades MAPI Nomeadas em Anexos
Propriedades MAPI nomeadas em anexos podem ser recuperadas de forma semelhante:
Removendo Propriedades MAPI
Você pode remover tanto propriedades MAPI padrão quanto nomeadas de mensagens ou anexos como mostrado no exemplo de código abaixo: