imap_body

(PHP 4, PHP 5, PHP 7)

imap_bodyRead the message body

说明

string imap_body ( resource $imap_stream , int $msg_number [, int $options = 0 ] )

imap_body() returns the body of the message, numbered msg_number 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.

参数

imap_stream

imap_open() 返回的 IMAP 流。

msg_number

The message number

options

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

  • FT_UID - The msg_number 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.

返回值

Returns the body of the specified message, as a string.

User Contributed Notes

theloverkills at gmail dot com 26-Jan-2017 07:45
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.
paddywwoof 26-Jan-2011 02:09
NB the message numbers start from 1 not 0 as normally used for iterating.
deenfirdoush at gmail dot com 15-Dec-2009 04:08
Simple example on how to read body message of the recent mail.

<?php
$imap
= imap_open("{pop.example.com:995/pop3/ssl/novalidate-cert}", "username", "password");

if(
$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
    
imap_close($imap);
}
?>