imap_body
(PHP 4, PHP 5, PHP 7, PHP 8)
imap_body — Read 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.
参数
-
imap
-
IMAP\Connection 实例。
-
message_num
-
The message number
-
flags
-
The optional
flags
are a bit mask with one or more of the following:-
FT_UID
- Themessage_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.
-
返回值
Returns the body of the specified message, as a string, 或者在失败时返回 false
.
更新日志
版本 | 说明 |
---|---|
8.1.0 |
现在 imap 参数接受 IMAP\Connection
实例,之前接受 资源(resource)。
|

User Contributed Notes 2 notes
deenfirdoush at gmail dot com ¶
12 years ago
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);
}
?>
theloverkills at gmail dot com ¶
5 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.