Anexos e EWS no Exchange
Saiba mais sobre anexos e como a API Gerenciada do EWS ou o EWS no cliente exchange os representa.
Normalmente, anexos são associados a itens de email, mas, na verdade, todos os itens EWS – mensagens de email, itens de calendário, contatos, tarefas – podem incluir anexos.
Tipos de anexos
O EWS categoriza anexos em dois grupos: anexos de arquivo e anexos de item.
Anexos de item:Itens EWS fortemente tipados, como mensagens de email e itens de calendário, que são anexados a outro item EWS fortemente tipado. Qualquer item fortemente tipado que possa ser criado usando a API Gerenciada do EWS ou o EWS pode ser usado como um anexo de item. O conteúdo de um anexo de item é o item fortemente tipado, que fornece fácil acesso a todas as suas propriedades. Os anexos de item podem ter seus próprios anexos de item, portanto, uma hierarquia de anexos de item (ou aninhamento de anexos) é possível.
Anexos de arquivo: Qualquer arquivo, como um .txt, .jpg, .zip, .pdf ou até mesmo um arquivo .msg. Um anexo de arquivo tem apenas algumas propriedades, uma das quais é o conteúdo codificado base-64 do arquivo.
Anexos de referência: Qualquer anexo referenciado por um provedor de arquivos, como um arquivo localizado na nuvem. Um anexo pode ser de vários provedores.
Ao adicionar ou recuperar anexos de um item, você o fará de forma diferente, dependendo se for um anexo de arquivo ou um anexo de item. Por exemplo, para adicionar um anexo de arquivo a um item, basta passar o local do arquivo. Para adicionar um item existente como um anexo de item, você realmente precisa copiar as propriedades ou o conteúdo MIME do item existente para um novo anexo de item; você não pode simplesmente associar-se ao item existente. Portanto, a distinção entre os dois tipos de anexos é importante. Mais detalhes sobre as diferenças entre anexos de item e anexos de arquivo são discutidos nos artigos nesta seção.
Como os anexos são representados programaticamente?
Os anexos são armazenados em uma coleção no item EWS. A coleção de anexos é composta por anexos de arquivo e/ou anexos de item. Os metadados sobre a coleção de anexos estão disponíveis quando você obtém um item usando o método EWS Managed API Item.Bind ou a operação GetItem do EWS, mas chamadas adicionais são necessárias para realmente recuperar o conteúdo dos anexos.
Tabela 1. Metadados de item sobre anexos
Entidade de metadados | Propriedade API Gerenciada do EWS | Elemento EWS |
---|---|---|
Indicador de anexo (não sinaliza anexos embutidos) |
Item.HasAttachments |
Hasattachments |
Coleção Attachment |
Item.Anexos |
Anexos |
ID do anexo |
Attachment.Id |
AttachmentId |
Tabela 2. Entidades de anexo
Tipo de anexo | Classe de API Gerenciada do EWS | Elemento EWS |
---|---|---|
Anexo de arquivo |
FileAttachment |
FileAttachment |
Anexo de item |
ItemAttachment ItemAttachment<TItem> |
ItemAttachment |
Anexo de referência |
EWS (ReferenceAttachmentType complexType) |
ReferenceAttachment |
Anexos embutidos
Anexos embutidos são uma raça especial de anexo. Anexos de arquivo e anexos de item podem ser anexos embutidos. Um anexo embutido aparece como parte do conteúdo do corpo e mantém sua posição relativa ao restante do conteúdo no item.
Um anexo será um anexo embutido se a propriedade IsInline da API Gerenciada do EWS ou o elemento IsInline do EWS estiver definido como true. Os anexos embutidos usam as seguintes propriedades e elementos opcionais para identificar o local de um anexo embutido:
API Gerenciada do EWS – propriedades ContentId ou ContentLocation .
EWS – elemento ContentId ou ContentLocation .
Observe que a propriedade HasAttachments da API Gerenciada do EWS e o elemento HasAttachments do EWS não refletem a existência de anexos embutidos e é por isso que anexos embutidos também são chamados de anexos ocultos. Portanto, se você definir a propriedade IsInline da API Gerenciada do EWS ou o elemento IsInline do EWS como true e o item não tiver outros anexos, HasAttachments será definido como false. Se o cliente usar HasAttachments para preencher um indicador de anexo ou ícone em um email, esteja ciente de que o ícone não aparecerá para emails com anexos embutidos.