imap_headers

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

imap_headersReturns headers for all messages in a mailbox

说明

imap_headers ( resource $imap ) : array|false

Returns headers for all messages in a mailbox.

参数

imap

imap_open() 返回的 IMAP 流。

返回值

Returns an array of string formatted with header info. One element per mail message. Returns false on failure.

User Contributed Notes

Anonymous 13-Apr-2021 10:29
the format returned is very fixed:

FLAGS (space) NUMBER (*) DATE (space) SENDER (space) SUBJECT (space) LENGTH

NUMBER will be a left-padded string of up to 4 digits + ")", starting with 5 digits, it is those 5 digits (without the ")")

DATE will be a left-padded string like " 2-Apr-2021" or a non-padded string like "13-Apr-2021"

SENDER is 20 chars long

SUBJECT is 25 chars long

LENGTH is a string like "(1248 chars)" , however it allows more digits and is not padded.
webmaster at RealityRipple dot com 06-May-2018 11:32
Just a helpful hint, many IMAP servers will include non-standard flags in curly braces before the subject in the response of this function. Pretty sure this is the only way to determine if a message has been forwarded, for example, when using the IMAP functions. The first flag (or more) may be prefixed with a dollar sign ($). It's (probably) likely that any such flags received by a server can be passed through imap_append to that server, as well.
antispam at katiheta dot net 31-Jul-2013 02:44
Message flag descriptions can be found on official imap_headerinfo page (http://www.php.net/manual/en/function.imap-headerinfo.php) in "Return Value" paragraph.
paulwright75 at hotmail dot com 18-Jun-2013 12:54
Ok, this page is driving me crazy. Parsing the lines returned in the array is simple enough but there is no definitions on what the flags mean. So I searched the web to find the answer and this is what I was able to gather:

A - Answered: email has been replied to
N - New: Recent and not seen
R - Recent: Recent and seen
U - Unread: The message has not been read yet
F - Flagged: Message is "flagged" for urgent/special attention
D - Deleted: Message is "deleted" for removal by later EXPUNGE
X - Draft: Message has not completed composition (marked as a draft).

please correct me if I am wrong...
mmuoio at gmail dot com 12-Oct-2009 10:39
This function will not return a full subject line if it is longer than 25 characters.  I found this out after trying to search each header and move the email to a different folder depending on what the subject was (searching for year and project number).