PHP - Funzione imap_search ()

Le funzioni PHP − IMAP ti aiutano ad accedere agli account di posta elettronica, IMAP sta per Internet Mail Access Protocol usando queste funzioni puoi anche lavorare con i protocolli NNTP, POP3 e metodi di accesso alla casella di posta locale.

Il imap_search() accetta un valore di risorsa che rappresenta un flusso IMAP e un valore stringa che rappresenta i criteri di ricerca come parametri, cerca nella cassetta postale e restituisce i messaggi corrispondenti sotto forma di matrice.

Sintassi

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

Parametri

Suor n Parametro e descrizione
1

imap_stream (Mandatory)s

Si tratta di un valore stringa che rappresenta un flusso IMAP, valore di ritorno di imap_open() funzione.

2

criteria (Mandatory)

Questo è un valore stringa che rappresenta i criteri di ricerca.

3

options (Optional)

Questo è un valore stringa che rappresenta il valore opzionale SE_UID. Quando si imposta l'array, la risintonizzazione contiene gli UID invece delle sequenze di messaggi.

4

$charset (Optional)

Questo è un valore stringa che rappresenta il set di caratteri MIME da utilizzare durante la ricerca.

Valori restituiti

Questa funzione restituisce un array che contiene i numeri di messaggio / UID che rappresentano i messaggi corrispondenti in caso di successo e un valore booleano FALSE in caso di errore.

Versione PHP

Questa funzione è stata introdotta per la prima volta nella versione 4 di PHP e funziona in tutte le versioni successive.

Esempio

Di seguito è riportato un altro esempio di questa funzione:

<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>

Questo genera il seguente output:

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

Esempio

Di seguito è riportato un altro esempio di questa funzione; questo legge i messaggi invisibili nella posta in arrivo corrente -

<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>

Produzione

Questo genererà il seguente output:

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

Esempio

Di seguito è riportato un esempio di questa funzione con parametri opzionali:

<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>

Produzione

Questo genererà il seguente output:

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