Pièces jointes et EWS dans Exchange
Découvrez les pièces jointes et la façon dont votre API managée EWS ou EWS dans le client Exchange les représente.
En règle générale, les pièces jointes sont associées à des éléments de courrier électronique, mais en fait, tous les éléments EWS (messages électroniques, éléments de calendrier, contacts, tâches) peuvent inclure des pièces jointes.
Types de pièces jointes
EWS classe les pièces jointes en deux groupes : les pièces jointes de fichiers et les pièces jointes d’éléments.
Pièces jointes d’éléments : Éléments EWS fortement typés, tels que les messages électroniques et les éléments de calendrier, qui sont attachés à un autre élément EWS fortement typé. Tout élément fortement typé qui peut être créé à l’aide de l’API managée EWS ou EWS peut être utilisé comme pièce jointe d’élément. Le contenu d’une pièce jointe d’élément est l’élément fortement typé, ce qui permet d’accéder facilement à toutes ses propriétés. Les pièces jointes d’élément peuvent avoir leurs propres pièces jointes d’éléments, donc une hiérarchie de pièces jointes d’éléments (ou l’imbrication de pièces jointes) est possible.
Pièces jointes : Tout fichier, tel qu’un fichier .txt, .jpg, .zip, .pdf ou même un fichier .msg. Une pièce jointe a seulement quelques propriétés, dont l’une est le contenu encodé en base 64 du fichier.
Pièces jointes de référence : Toute pièce jointe référencée par un fournisseur de fichiers, par exemple un fichier situé dans le cloud. Une pièce jointe peut provenir de plusieurs fournisseurs.
Lorsque vous ajoutez ou récupérez des pièces jointes à partir d’un élément, vous le faites différemment selon qu’il s’agit d’une pièce jointe de fichier ou d’une pièce jointe d’élément. Par exemple, pour ajouter une pièce jointe à un élément, vous pouvez simplement transmettre l’emplacement du fichier. Pour ajouter un élément existant en tant que pièce jointe d’élément, vous devez copier les propriétés ou le contenu MIME de l’élément existant dans une nouvelle pièce jointe d’élément ; vous ne pouvez pas simplement lier à l’élément existant. Il est donc important de faire la distinction entre les deux types de pièces jointes. Pour plus d’informations sur les différences entre les pièces jointes d’élément et les pièces jointes de fichiers, consultez les articles de cette section.
Comment les pièces jointes sont-elles représentées par programmation ?
Les pièces jointes sont stockées dans une collection sur l’élément EWS. La collection pièces jointes se compose de pièces jointes de fichiers et/ou de pièces jointes d’éléments. Les métadonnées relatives à la collection de pièces jointes sont disponibles lorsque vous obtenez un élément à l’aide de la méthode Item.Bind de l’API managée EWS ou de l’opération GetItem EWS, mais des appels supplémentaires sont nécessaires pour récupérer réellement le contenu des pièces jointes.
Tableau 1. Métadonnées d’élément sur les pièces jointes
Entité de métadonnées | Propriété d’API managée EWS | Élément EWS |
---|---|---|
Indicateur de pièce jointe (n’indique pas les pièces jointes insérées) |
Item.HasAttachments |
HasAttachments |
collection attachment |
Item.Attachments |
Pièces jointes |
ID des pièces jointes |
Attachment.Id |
AttachmentId |
Tableau 2. Entités de pièce jointe
Type de pièce jointe | Classe d’API managée EWS | Élément EWS |
---|---|---|
Pièce jointe |
FileAttachment |
FileAttachment |
Pièce jointe d’élément |
ItemAttachment ItemAttachment<TItem> |
ItemAttachment |
Pièce jointe de référence |
ComplexType ReferenceAttachmentType (EWS) |
ReferenceAttachment |
Pièces jointes incorporées
Les pièces jointes incorporées sont une race spéciale d’attachement. Les pièces jointes de fichiers et les pièces jointes d’éléments peuvent être des pièces jointes inline. Une pièce jointe incorporée apparaît dans le contenu du corps et conserve sa position par rapport au reste du contenu de l’élément.
Une pièce jointe est une pièce jointe inline si la propriété IsInline de l’API managée EWS ou l’élément EWS IsInline a la valeur true. Les pièces jointes inline utilisent les propriétés et éléments facultatifs suivants pour identifier l’emplacement d’une pièce jointe inline :
API managée EWS : propriétés ContentId ou ContentLocation .
EWS — Élément ContentId ou ContentLocation .
Notez que la propriété HasAttachments de l’API managée EWS et l’élément EWS HasAttachments ne reflètent pas l’existence des pièces jointes inline, et c’est pourquoi les pièces jointes inline sont également appelées pièces jointes masquées. Par conséquent, si vous définissez la propriété IsInline de l’API managée EWS ou l’élément EWS IsInline sur true, et que l’élément n’a pas d’autres pièces jointes, HasAttachments est défini sur false. Si votre client utilise HasAttachments pour remplir un indicateur de pièce jointe ou une icône dans un e-mail, n’oubliez pas que l’icône n’apparaîtra pas pour les e-mails avec des pièces jointes inline.