PHP Manual
Prev |  | Next

# imap_search

(PHP 3 >= 3.0.12, PHP 4, PHP 5)

imap_search -- This function returns an array of messages matching the given search criteria

## Description

array imap_search ( resource imap_stream, string criteria [, int options [, string charset]] )

This function performs a search on the mailbox currently opened in the given imap stream.

For example, to match all unanswered messages sent by Mom, you'd use: "UNANSWERED FROM mom". Searches appear to be case insensitive. This list of criteria is from a reading of the UW c-client source code and may be incomplete or inaccurate (see also RFC2060, section 6.4.4).

## Parameters

`imap_stream`

  An IMAP stream returned by imap_open().

`criteria`

  A string, delimited by spaces, in which the following keywords are allowed. Any multi-word arguments (e.g. FROM "joey smith") must be quoted.

  - ALL - return all messages matching the rest of the criteria

  - ANSWERED - match messages with the \\ANSWERED flag set

  - BCC "string" - match messages with "string" in the Bcc: field

  - BEFORE "date" - match messages with Date: before "date"

  - BODY "string" - match messages with "string" in the body of the message

  - CC "string" - match messages with "string" in the Cc: field

  - DELETED - match deleted messages

  - FLAGGED - match messages with the \\FLAGGED (sometimes referred to as Important or Urgent) flag set

  - FROM "string" - match messages with "string" in the From: field

  - KEYWORD "string" - match messages with "string" as a keyword

  - NEW - match new messages

  - OLD - match old messages

  - ON "date" - match messages with Date: matching "date"

  - RECENT - match messages with the \\RECENT flag set

  - SEEN - match messages that have been read (the \\SEEN flag is set)

  - SINCE "date" - match messages with Date: after "date"

  - SUBJECT "string" - match messages with "string" in the Subject:

  - TEXT "string" - match messages with text "string"

  - TO "string" - match messages with "string" in the To:

  - UNANSWERED - match messages that have not been answered

  - UNDELETED - match messages that are not deleted

  - UNFLAGGED - match messages that are not flagged

  - UNKEYWORD "string" - match messages that do not have the keyword "string"

  - UNSEEN - match messages which have not been read yet

`options`

  Valid values for `options` are `SE_UID`, which causes the returned array to contain UIDs instead of messages sequence numbers.

`charset`

## Return Values

Returns an array of message numbers or UIDs.

Return `FALSE` if it does not understand the search `criteria` or no messages have been found.

## ChangeLog

Version | Description
--- | ---
4.3.3 | The `charset` parameter was added

## See Also

imap_listscan()

Prev | Home | Next
imap_scanmailbox | Up | imap_set_quota