PHP - Fonction imap_search ()

Les fonctions PHP-IMAP vous aident à accéder aux comptes de messagerie, IMAP signifie IInternet Mail Aaccès Protocol en utilisant ces fonctions, vous pouvez également travailler avec les protocoles NNTP, POP3 et les méthodes d'accès aux boîtes aux lettres locales.

le imap_search() accepte une valeur de ressource représentant un flux IMAP et une valeur de chaîne représentant les critères de recherche en tant que paramètres, recherche la boîte aux lettres et renvoie les messages correspondants sous la forme d'un tableau.

Syntaxe

imap_search($imap_stream, $criteria, [$options, $charset]);

Paramètres

Sr.Non Paramètre et description
1

imap_stream (Mandatory)s

Il s'agit d'une valeur de chaîne représentant un flux IMAP, valeur de retour du imap_open() fonction.

2

criteria (Mandatory)

Il s'agit d'une valeur de chaîne représentant les critères de recherche.

3

options (Optional)

Il s'agit d'une valeur de chaîne représentant la valeur facultative SE_UID. Lors de la définition, le tableau réaccordé contient des UID au lieu de séquences de messages.

4

$charset (Optional)

Il s'agit d'une valeur de chaîne représentant le jeu de caractères MIME à utiliser lors de la recherche.

Valeurs de retour

Cette fonction renvoie un tableau contenant les numéros de message / UID représentant les messages correspondants en cas de succès et une valeur booléenne FALSE en cas d'échec.

Version PHP

Cette fonction a été introduite pour la première fois dans la version 4 de PHP et fonctionne dans toutes les versions ultérieures.

Exemple

Voici un autre exemple de cette fonction -

<html>
   <body>
      <?php
         //Establishing connection
         $url = "{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX";
         $id = "[email protected]";
         $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>

Cela génère la sortie suivante -

Connection established....
Results of the search:
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 )

Exemple

Voici un autre exemple de cette fonction; cela lit les messages invisibles dans la boîte de réception actuelle -

<html>
   <body>
      <?php
         //Establishing connection
         $url = "{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX";
         $id = "[email protected]";
         $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>

Production

Cela générera la sortie suivante -

Connection established....
Contents of the matched messages:
Array ( [0] => 4 [1] => 5 [2] => 6 )
#sample_mail4
#sample_mail5
#sample_mail6

Exemple

Voici un exemple de cette fonction avec des paramètres optionnels -

<html>
   <body>
      <?php
         //Establishing connection
         $url = "{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX";
         $id = "[email protected]";
         $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>

Production

Cela générera la sortie suivante -

Connection established....
Contents of the matched messages:
Array ( 
   [0] => 19 
   [1] => 20 
   [2] => 42 
   [3] => 49 
   [4] => 50 
   [5] => 51 
)