PHPCon Poland 2024


(PHP 4, PHP 5, PHP 7, PHP 8)

imap_bodyRead the message body


imap_body(IMAP\Connection $imap, int $message_num, int $flags = 0): string|false

imap_body() returns the body of the message, numbered message_num in the current mailbox.

imap_body() will only return a verbatim copy of the message body. To extract single parts of a multipart MIME-encoded message you have to use imap_fetchstructure() to analyze its structure and imap_fetchbody() to extract a copy of a single body component.

Elenco dei parametri


An IMAP\Connection instance.


The message number


The optional flags are a bit mask with one or more of the following:

  • FT_UID - The message_num is a UID
  • FT_PEEK - Do not set the \Seen flag if not already set
  • FT_INTERNAL - The return string is in internal format, will not canonicalize to CRLF.

Valori restituiti

Returns the body of the specified message, as a string, o false in caso di fallimento.

Log delle modifiche

Versione Descrizione
8.1.0 The imap parameter expects an IMAP\Connection instance now; previously, a valid imap resource was expected.
add a note

User Contributed Notes 2 notes

deenfirdoush at gmail dot com
14 years ago
Simple example on how to read body message of the recent mail.

= imap_open("{}", "username", "password");

$imap ) {

//Check no.of.msgs
$num = imap_num_msg($imap);

//if there is a message in your inbox
if( $num >0 ) {
//read that mail recently arrived
echo imap_qprint(imap_body($imap, $num));

//close the stream
theloverkills at gmail dot com
7 years ago
Please note that the UID is NOT unique.
UID of the email may be not unique on the server (2 messages in different folders may have same UID).

Basically, don't use the UID as a unique identifier.
To Top