PHP - Função imap_header ()

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_header() function é um alias de iamp_headerinfo (), ela aceita um valor de recurso que representa um fluxo IMAP, um valor inteiro que representa uma mensagem específica como parâmetros e lê o cabeçalho da mensagem especificada.

Sintaxe

imap_header($imap_stream ,$msg [,fromlength, $subjectlength, $defaulthost]);

Parâmetros

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

imap_stream (Mandatory)

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

2

msg (Mandatory)

Este é um valor inteiro que representa o número da mensagem / e-mail.

3

fromlength (Optional)

Este é um valor inteiro que representa o comprimento da propriedade fetchfrom.

4

subjectlength (Optional)

Este é um valor inteiro que representa o comprimento da propriedade fetchsubject.

Valores Retornados

Esta função retorna um objeto que representa os cabeçalhos da mensagem especificada em caso de sucesso e um valor booleano que é 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

O exemplo a seguir demonstra o uso do imap_header() 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>");
		 
         //Fetching the headers of all messages		 
         print("Headers of all messages: "."<br>");
         $res = imap_header ($imap, 2);	
         print_r($res);		     
         //Closing the connection
         imap_close($imap);   
      ?>
   </body>
</html>

Resultado

Isso irá gerar a seguinte saída -

Connection established....
Headers of all messages:
stdClass Object ( [date] => Thu, 22 Oct 2020 20:10:52 +0530 [Date] => Thu, 
22 Oct 2020 20:10:52 +0530 [message_id] => [toaddress] => 
[email protected] [to] => Array ( [0] => stdClass Object ( 
[mailbox] => tutorialspoint.test [host] => gmail.com ) ) [fromaddress] =>
Sender [from] => Array ( [0] => stdClass Object ( [personal] => Sender 
[mailbox] => sample.test[host] => gmail.com ) ) [reply_toaddress] => 
Sender [reply_to] => Array ( [0] => stdClass Object ( [personal] => 
Sender [mailbox] => sample.test[host] => gmail.com ) ) [senderaddress] =>
Sender [sender] => Array ( [0] => stdClass Object ( [personal] => Sender 
[mailbox] => sample.test[host] => gmail.com ) ) [Recent] => [Unseen] =
> U [Flagged] => [Answered] => [Deleted] => [Draft] => [Msgno] =
> 2 [MailDate] => 22-Oct-2020 14:41:31 +0000 [Size] => 4858 [udate] =>
1603377691 )

Exemplo

A seguir está outro exemplo da função acima -

<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>");
		 
         //Fetching the headers of all messages		 
         print("Headers of all messages: "."<br>");
        	
         for($i=1; $i<=imap_num_msg($imap); $i++) {
            $res = imap_header($imap, $i);
            print($res->toaddress);
            print("<br>");
            print($res->fromaddress);
            print("<br>");
            print($res->date);
            print("<br>");
            print($res->Size);	
            print("<br>");	
            print("<br>");		  
         }
         //Closing the connection
         imap_close($imap);   
      ?>
   </body>
</html>

Resultado

Isso irá gerar a seguinte saída -

Connection established....
Headers of all messages:
[email protected]
Sender
Thu, 22 Oct 2020 20:10:17 +0530
4857

[email protected]
Sender
Thu, 22 Oct 2020 20:10:52 +0530
4858

[email protected]
Sender
Sun, 25 Oct 2020 16:11:22 +0530
4880

[email protected]
Sender
Sun, 25 Oct 2020 17:22:41 +0530
4882

[email protected]
Sender
Sun, 25 Oct 2020 17:23:10 +0530
4884

[email protected]
Sender
Sun, 25 Oct 2020 17:24:25 +0530
4883

[email protected]
Sender
Mon, 26 Oct 2020 12:31:14 +0530
4888