Compartilhar via


Classes de mensagem MAPI

Aplica-se a: Outlook 2013 | Outlook 2016

Cada mensagem tem uma propriedade de classe de mensagem, PR_MESSAGE_CLASS (PidTagMessageClass), que identifica o tipo, a finalidade ou o conteúdo da mensagem. PR_MESSAGE_CLASS é uma propriedade necessária em todas as novas mensagens. A classe de uma mensagem determina o formulário usado para apresentar a mensagem ao usuário e à pasta para colocar mensagens de entrada.

As classes de mensagem são cadeias de caracteres sensíveis a casos que contêm caracteres ASCII de 32 a 127 e são delimitadas por períodos, mas não podem terminar com um período. Cada cadeia de caracteres representa um nível de subclasse e não há limite para o número de níveis permitidos.

Por exemplo, a maioria das mensagens que os aplicativos cliente enviam e recebem se enquadram na classe de mensagem IPM , uma categoria ampla que descreve todas as mensagens interpessoais (ou seja, mensagens que devem ser lidas por um usuário humano, em vez de programaticamente por um computador). Os provedores do repositório de mensagens descrevem com mais precisão uma mensagem IPM criando uma subclasse IPM . A subclasse IPM herda as propriedades da classe de mensagem IPM . Subclasses da classe IPM são nomeadas ao concatenar outras cadeias de caracteres no identificador IPM, como IPM. Observação para descrever uma mensagem de nota e IPM. Entre em contato para descrever uma mensagem de contato.

Para lidar com a exibição e o gerenciamento de mensagens IPM, os clientes podem usar um formulário padrão que o MAPI fornece. Para lidar com a exibição e o gerenciamento de novas classes de mensagens, você como desenvolvedor de aplicativos cliente tem duas opções:

  1. Você pode criar um novo formulário usando o conjunto de interfaces de formulário definidas pelo MAPI que um cliente padrão pode usar.

  2. Você pode escrever seu próprio cliente implementando um aplicativo completo e autônomo.

Embora os clientes definam a propriedade PR_MESSAGE_CLASS para cada mensagem de saída como uma subclasse do IPM ou IPC, o provedor do repositório de mensagens tem a responsabilidade final de defini-la. Portanto, se um cliente enviar uma mensagem sem definir sua classe de mensagem, o provedor do repositório de mensagens a definirá como o valor padrão apropriado para o tipo apropriado de cliente. A classe de mensagem padrão para clientes de mensagens interpessoais é IPM; A classe de mensagem padrão para clientes de comunicação entre processos é IPC.

As classes de mensagem têm uma restrição de comprimento de 255 caracteres. No entanto, as classes de mensagem não devem exceder 127 caracteres para dar suporte às classes de mensagem usadas em relatórios. As classes de mensagem de relatório são baseadas na classe da mensagem original, com duas adições: um prefixo e um sufixo. O RELATÓRIO de prefixo indica que a mensagem é um relatório e o sufixo indica o tipo de relatório: DR (relatório de entrega), NDR (relatório não detalhado), IPNRN (relatório de leitura) ou IPNNRN (relatório não lido). Observe que essas restrições de comprimento são dadas em caracteres; em plataformas que usam um conjunto de caracteres de bytes duplos, a contagem real de bytes pode ser maior.

Os provedores do repositório de mensagens devem retornar MAPI_E_INVALID_PARAMETER de suas implementações de método IMAPIProp::SetProps quando um cliente tenta atribuir uma cadeia de caracteres que excede o limite permitido para sua classe de mensagem.

Confira também

Mensagens MAPI