(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)
     This function performs a search on the mailbox currently opened
     in the given imap stream. criteria is 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
        
     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).
    
     Valid values for flags are SE_UID, which causes the returned
     array to contain UIDs instead of messages sequence numbers.