imap_fetchmime
imap_fetchtext
IMAP Functions
PHP Manual

# imap_fetchstructure

(PHP 4, PHP 5, PHP 7)

imap_fetchstructure — Read the structure of a particular message

### Description

object imap_fetchstructure ( resource `$imap_stream` , int `$msg_number` [, int `$options` = 0 ] )

Fetches all the structured information for a given message.

### Parameters

`imap_stream`

  An IMAP stream returned by imap_open().

`msg_number`

  The message number

`options`

  This optional parameter only has a single option, `FT_UID`, which tells the function to treat the `msg_number` argument as a UID.

### Return Values

Returns an object includes the envelope, internal date, size, flags and body structure along with a similar object for each mime attachment. The structure of the returned objects is as follows:

Returned Objects for imap_fetchstructure()
type | Primary body type
encoding | Body transfer encoding
ifsubtype | `TRUE` if there is a subtype string
subtype | MIME subtype
ifdescription | `TRUE` if there is a description string
description | Content description string
ifid | `TRUE` if there is an identification string
id | Identification string
lines | Number of lines
bytes | Number of bytes
ifdisposition | `TRUE` if there is a disposition string
disposition | Disposition string
ifdparameters | `TRUE` if the dparameters array exists
dparameters | An array of objects where each object has an "attribute" and a "value" property corresponding to the parameters on the Content-disposition MIME header.
ifparameters | `TRUE` if the parameters array exists
parameters | An array of objects where each object has an "attribute" and a "value" property.
parts | An array of objects identical in structure to the top-level object, each of which corresponds to a MIME body part.

Primary body type (value may vary with used library, use of constants is recommended)
Value | Type | Constant
--- | --- | ---
0 | text | TYPETEXT
1 | multipart | TYPEMULTIPART
2 | message | TYPEMESSAGE
3 | application | TYPEAPPLICATION
4 | audio | TYPEAUDIO
5 | image | TYPEIMAGE
6 | video | TYPEVIDEO
7 | model | TYPEMODEL
8 | other | TYPEOTHER

Transfer encodings (value may vary with used library, use of constants is recommended)
Value | Type | Constant
--- | --- | ---
0 | 7bit | ENC7BIT
1 | 8bit | ENC8BIT
2 | Binary | ENCBINARY
3 | Base64 | ENCBASE64
4 | Quoted-Printable | ENCQUOTEDPRINTABLE
5 | other | ENCOTHER

### See Also

- imap_fetchbody() - Fetch a particular section of the body of the message
- imap_bodystruct() - Read the structure of a specified body section of a specific message

imap_fetchmime
imap_fetchtext
IMAP Functions
PHP Manual