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 obrigatória em todas as novas mensagens. A classe de uma mensagem determina a forma usada para apresentar a mensagem ao usuário e a pasta para colocar as mensagens de entrada.

As classes de mensagem são cadeias de caracteres que diferenciam maiúsculas de minúsculas que contêm caracteres ASCII de 32 a 127 e são delimitadas por pontos, mas não podem terminar com um ponto. 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 enquadra 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 de 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 . As subclasses da classe IPM são nomeadas concatenando outras cadeias de caracteres no identificador IPM, como IPM. Anotação para descrever uma mensagem de anotação e IPM. 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 fornecido pelo MAPI. 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 devam definir a propriedade PR_MESSAGE_CLASS para cada mensagem de saída para uma subclasse de 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 prefixo REPORT indica que a mensagem é um relatório e o sufixo indica o tipo de relatório: DR (relatório de entrega), NDR (relatório de não entrega), IPNRN (relatório de leitura) ou IPNNRN (relatório de não leitura). Observe que essas restrições de comprimento são fornecidas em caracteres; Em plataformas que usam um conjunto de caracteres de byte duplo, a contagem de bytes real pode ser maior.

Os provedores de 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