
- PHP Tutorial
- PHP - Home
- PHP - Introduction
- PHP - Environment Setup
- PHP - Syntax Overview
- PHP - Variable Types
- PHP - Constants
- PHP - Operator Types
- PHP - Decision Making
- PHP - Loop Types
- PHP - Arrays
- PHP - Strings
- PHP - Web Concepts
- PHP - GET & POST
- PHP - File Inclusion
- PHP - Files & I/O
- PHP - Functions
- PHP - Cookies
- PHP - Sessions
- PHP - Sending Emails
- PHP - File Uploading
- PHP - Coding Standard
- Advanced PHP
- PHP - Predefined Variables
- PHP - Regular Expression
- PHP - Error Handling
- PHP - Bugs Debugging
- PHP - Date & Time
- PHP & MySQL
- PHP & AJAX
- PHP & XML
- PHP - Object Oriented
- PHP - For C Developers
- PHP - For PERL Developers
- PHP Form Examples
- PHP - Form Introduction
- PHP - Validation Example
- PHP - Complete Form
- PHP login Examples
- PHP - Login Example
- PHP - Facebook Login
- PHP - Paypal Integration
- PHP - MySQL Login
- PHP AJAX Examples
- PHP - AJAX Search
- PHP - AJAX XML Parser
- PHP - AJAX Auto Complete Search
- PHP - AJAX RSS Feed Example
- PHP XML Example
- PHP - XML Introduction
- PHP - Simple XML
- PHP - Simple XML GET
- PHP - SAX Parser Example
- PHP - DOM Parser Example
- PHP Frame Works
- PHP - Frame Works
- PHP - Core PHP vs Frame Works
- PHP Design Patterns
- PHP - Design Patterns
- PHP Function Reference
- PHP - Built-In Functions
- PHP Useful Resources
- PHP - Questions & Answers
- PHP - Useful Resources
- PHP - Discussion
PHP - imap_search() Function
PHP−IMAP functions helps you to access email accounts, IMAP stands for Internet Mail Access Protocol using these functions you can also work with NNTP, POP3 protocols and local mailbox access methods.
The imap_search() accepts a resource value representing an IMAP stream, and a string value representing the search criteria as parameters, searches the mailbox and returns the matched messages in the form of an array.
Syntax
imap_search($imap_stream, $criteria, [$options, $charset]);
Parameters
Sr.No | Parameter & Description |
---|---|
1 |
imap_stream (Mandatory)s This is a string value representing an IMAP stream, return value of the imap_open() function. |
2 |
criteria (Mandatory) This is a string value representing the search criteria. |
3 |
options (Optional) This is a string value representing the optional value SE_UID. On setting the array retuned contains UID’s instead of message sequences. |
4 |
$charset (Optional) This is a string value representing the MIME character set to use during the search. |
Return Values
This function returns an array which contains the message numbers/UID’s representing the matched messages in case of success and a Boolean value FALSE in case of failure.
PHP Version
This function was first introduced in PHP Version 4 and works in all the later versions.
Example
Following is another example of this function −
<html> <body> <?php //Establishing connection $url = "{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX"; $id = "tutorialspoint.test@gmail.com"; $pwd = "cohondob_123"; $imap = imap_open($url, $id, $pwd); print("Connection established...."."<br>"); print("Results of the search: "."<br>"); $emailData = imap_search($imap, ''); print_r($emailData); //Closing the connection imap_close($imap); ?> </body> </html>
This generates the following output −
Connection established.... Results of the search: Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 )
Example
Following is another example of this function; this reads the unseen messages in the current inbox −
<html> <body> <?php //Establishing connection $url = "{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX"; $id = "tutorialspoint.test@gmail.com"; $pwd = "cohondob_123"; $imap = imap_open($url, $id, $pwd); print("Connection established...."."<br>"); print("Contents of the matched messages: "."<br>"); $emailData = imap_search($imap, "UNSEEN"); foreach ($emailData as $msg) { $msg = imap_fetchbody($imap, $msg, "1"); print(quoted_printable_decode($msg)."<br>"); } //Closing the connection imap_close($imap); ?> </body> </html>
Output
This will generate the following output −
Connection established.... Contents of the matched messages: Array ( [0] => 4 [1] => 5 [2] => 6 ) #sample_mail4 #sample_mail5 #sample_mail6
Example
Following is an example of this function with optional parameters −
<html> <body> <?php //Establishing connection $url = "{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX"; $id = "tutorialspoint.test@gmail.com"; $pwd = "cohondob_123"; $imap = imap_open($url, $id, $pwd); print("Connection established...."."<br>"); print("Contents of the matched messages: "."<br>"); $data = imap_search($imap, "ALL", SE_UID); print_r($data); //Closing the connection imap_close($imap); ?> </body> </html>
Output
This will generate the following output −
Connection established.... Contents of the matched messages: Array ( [0] => 19 [1] => 20 [2] => 42 [3] => 49 [4] => 50 [5] => 51 )