PHP 8.4.2 Released!

imap_headers

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

imap_headersReturns headers for all messages in a mailbox

Description

imap_headers(IMAP\Connection $imap): array|false

Returns headers for all messages in a mailbox.

Parameters

imap

An IMAP\Connection instance.

Return Values

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

Changelog

Version Description
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 5 notes

up
18
paulwright75 at hotmail dot com
11 years ago
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...
up
2
Anonymous
3 years ago
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.
up
2
mmuoio at gmail dot com
15 years ago
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).
up
1
webmaster at RealityRipple dot com
6 years ago
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.
up
3
antispam at katiheta dot net
11 years ago
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.
To Top