PHP - Função imap_search ()

As funções PHP-IMAP ajudam você a acessar contas de e-mail, IMAP significa IInternet Maflição Acesso Protocol usando essas funções, você também pode trabalhar com NNTP, protocolos POP3 e métodos de acesso à caixa de correio local.

o imap_search() aceita um valor de recurso que representa um fluxo IMAP e um valor de string que representa os critérios de pesquisa como parâmetros, pesquisa a caixa de correio e retorna as mensagens correspondentes na forma de uma matriz.

Sintaxe

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

Parâmetros

Sr. Não Parâmetro e Descrição
1

imap_stream (Mandatory)s

Este é um valor de string que representa um fluxo IMAP, valor de retorno do imap_open() função.

2

criteria (Mandatory)

Este é um valor de string que representa os critérios de pesquisa.

3

options (Optional)

Este é um valor de string que representa o valor opcional SE_UID. Ao definir, o array retuned contém UIDs em vez de sequências de mensagens.

4

$charset (Optional)

Este é um valor de string que representa o conjunto de caracteres MIME a ser usado durante a pesquisa.

Valores Retornados

Esta função retorna uma matriz que contém os números / UIDs das mensagens que representam as mensagens correspondentes em caso de sucesso e um valor booleano FALSE em caso de falha.

Versão PHP

Esta função foi introduzida pela primeira vez no PHP Versão 4 e funciona em todas as versões posteriores.

Exemplo

A seguir está outro exemplo desta função -

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

Isso gera a seguinte saída -

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

Exemplo

A seguir está outro exemplo dessa função; isso lê as mensagens não vistas na caixa de entrada atual -

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

Resultado

Isso irá gerar a seguinte saída -

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

Exemplo

A seguir está um exemplo desta função com parâmetros opcionais -

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

Resultado

Isso irá gerar a seguinte saída -

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