Exchange の添付物と EWSAttachments and EWS in Exchange

添付物と、Exchange クライアントの EWS マネージ API または EWS で添付物を表す方法について説明します。Learn about attachments and how your EWS Managed API or EWS in Exchange client represents them.

通常、添付物は、メール アイテムに関連付けられていますが、実際には、すべての EWS アイテム (子メールのメッセージ、予定表アイテム、連絡先、タスク) に添付物を含めることができます。Usually, attachments are associated with email items, but in fact, all EWS items — email messages, calendar items, contacts, tasks — can include attachments.

添付物の種類Types of attachments

EWS は、添付物をファイル添付とアイテム添付の 2 つのグループに分類します。EWS categorizes attachments into two groups: file attachments and item attachments.

  • アイテム添付: メール メッセージ、予定表アイテムなどの厳密に型指定された EWS アイテム。これらは厳密に型指定された別の EWS アイテムに添付されています。Item attachments: Strongly-typed EWS items, such as email messages and calendar items, that are attached to another strongly-typed EWS item. EWS マネージ API または EWS を使用して作成できるすべての厳密に型指定されたアイテムは、アイテム添付として使用できます。Any strongly-typed item that can be created by using the EWS Managed API or EWS can be used as an item attachment. アイテム添付のコンテンツは、厳密に型指定されたアイテムであり、そのすべてのプロパティに簡単にアクセスできます。The content of an item attachment is the strongly-typed item, which provides easy access to all its properties. アイテム添付はそれ自体のアイテム添付を持つことができます。そのためアイテム添付の階層 (または添付物の入れ子) を構成できます。Item attachments can have their own item attachments, so a hierarchy of item attachments (or nesting of attachments) is possible.

  • ファイル添付: .txt、.jpg、.zip、.pdf などのすべてのファイル (.msg ファイルも含む)。File attachments: Any file, such as a .txt, .jpg, .zip, .pdf, or even a .msg file. A file attachment only has a few properties, one of which is the base-64 encoded content of the file. ファイル添付には少数のプロパティしかありませんが、その 1 つは、Base-64 でエンコードされたファイル コンテンツです。File attachments: Any file, such as a .txt, .jpg, .zip, .pdf, or even a .msg file. A file attachment only has a few properties, one of which is the base-64 encoded content of the file.

  • 参照添付物: ファイル プロバイダーによって参照される添付物 (クラウド内にあるファイルなど)。Reference attachments: Any attachment that is referenced by a file provider, such as a file located in the cloud. 1 つの添付物が複数のプロバイダーから参照される場合もあります。An attachment can be from multiple providers.

添付物をアイテムに追加またはアイテムから取得する場合、ファイル添付であるか、アイテム添付であるかによって、操作が異なります。When you add or retrieve attachments from an item, you'll do it differently depending on whether it's a file attachment or an item attachment. たとえば、アイテムにファイル添付を追加する場合は、ファイルの場所を渡すだけです。For example, to add a file attachment to an item, you can just pass in the location of the file. アイテム添付として既存のアイテムを追加する場合は、既存のアイテムのプロパティまたは MIME コンテンツを新しいアイテム添付に実際にコピーする必要があります。既存のアイテムにバインドすることはできません。To add an existing item as an item attachment, you actually have to copy the properties or the MIME content of the existing item to a new item attachment; you can't just bind to the existing item. そのため、添付物の 2 つの種類を区別することが重要になります。So distinguishing between the two types of attachments is important. アイテム添付とファイル添付の違いの詳細については、このセクションの記事で説明します。More details about the differences between item attachments and file attachments are discussed in the articles In this section.

プログラムによる添付物の表示方法How are attachments represented programmatically?

添付物は、EWS のアイテムのコレクションに保存されます。Attachments are stored in a collection on the EWS item. 添付物コレクションは、ファイル添付またはアイテム添付、あるいはその両方で構成されています。The attachments collection is made up of file attachments and/or item attachments. 添付物コレクションに関するメタデータは、EWS マネージ API の Item.Bind メソッドまたは EWS の GetItem 操作を使用してアイテムを取得した場合に使用できます。ただし、添付物のコンテンツを実際に取得するには追加の呼び出しを行う必要があります。Attachments are stored in a collection on the EWS item. The attachments collection is made up of file attachments and/or item attachments. Metadata about the attachment collection is available when you get an item by using the EWS Managed API Item.Bindhttp://msdn.microsoft.com/en-us/library/microsoft.exchange.webservices.data.item.bind(v=exchg.80).aspx method or the EWS GetItem operation, but additional calls are required to actually retrieve the contents of the attachments.

表 1. 添付物に関するアイテムのメタデータTable 1.  Item metadata about attachments

メタデータ エンティティMetadata entity EWS マネージ API のプロパティEWS Managed API property EWS の要素EWS element
添付物のインジケーター (インライン添付のフラグを設定しない)Attachment indicator (does not flag inline attachments)
Item.HasAttachmentsItem.HasAttachments
HasAttachmentsHasAttachments
添付物のコレクションAttachment collection
Item.Attachmentsitem.attachments
AttachmentsAttachments
添付ファイルの IDAttachment ID
Attachment.Idattachment_id
AttachmentIdattachment_id

表 2. 添付物のエンティティTable 2.  Attachment entities

添付物の種類Attachment type EWS マネージ API のクラスEWS Managed API class EWS の要素EWS element
ファイル添付File attachment
FileAttachmentfileAttachment,
FileAttachmentFileAttachment
アイテム添付Item attachment
ItemAttachmentitemAttachment,
ItemAttachment<TItem>ItemAttachment<TItem>
ItemAttachmentitemAttachment,
参照添付物Reference attachment
ReferenceAttachmentType complexType (EWS)ReferenceAttachmentType complexType (EWS)
ReferenceAttachmentreferenceAttachment,

インライン添付Inline attachments

インライン添付は特別な種類の添付物です。ファイル添付とアイテム添付の両方とも、インライン添付にできます。インライン添付は、本文の内容の一部として表示され、アイテムの残りの部分のコンテンツとの関係でその位置を保持します。 Inline attachments are a special breed of attachment. Both file attachments and item attachments can be inline attachments. An inline attachment appears as part of the body content and retains its position relative to the rest of the content in the item.

EWS マネージ API の IsInline プロパティまたは EWS の IsInline 要素が true に設定されている場合、添付物はインライン添付です。An attachment is an inline attachment if the EWS Managed API IsInline property or the EWS IsInline element is set to true. インライン添付は、次のオプションのプロパティと要素を使用して、インライン添付の場所を識別します。Inline attachments use the following optional properties and elements to identify the location of an inline attachment:

EWS マネージ API の HasAttachments プロパティと EWS の HasAttachments 要素には、既存のインライン添付が存在しても反映されません。これがインライン添付が隠し添付ファイルとも呼ばれる理由です。Note that the EWS Managed API HasAttachments property and the EWS HasAttachments element do not reflect the existence of inline attachments, and that's why inline attachments are also called hidden attachments. そのため、EWS マネージ API の IsInline プロパティまたは EWS の IsInline 要素を true に設定し、アイテムに他の添付物は含まれない場合、HasAttachments は false に設定されます。So if you set the EWS Managed API IsInline property or the EWS IsInline element to true, and the item has no other attachments, HasAttachments will be set to false. クライアントが HasAttachments を使用して、メールの添付物のインジケーターまたはアイコンを設定する場合は、インライン添付を含むメールではアイコンが表示されないことに注意してください。If your client uses HasAttachments to populate an attachment indicator or icon on an email, be aware that the icon will not appear for emails with inline attachments.

このセクションの内容In this section

関連項目See also