PHP 8.3.4 Released!

imap_headers

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

imap_headersメールボックス内のすべてのメッセージのヘッダを返す

説明

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

メールボックス内のすべてのメッセージのヘッダを返します。

パラメータ

imap

IMAP\Connection クラスのインスタンス。

戻り値

ヘッダ情報でフォーマットされた文字列の配列を返します。1 つの メールメッセージ毎に 1 つの要素が格納されます。 失敗した場合に false を返します。

変更履歴

バージョン 説明
8.1.0 引数 imap は、IMAP\Connection クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、有効な imap リソース が期待されていました。
add a note

User Contributed Notes 5 notes

up
18
paulwright75 at hotmail dot com
10 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
3
Anonymous
2 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
14 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
5 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
10 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