PHP - Funzione imap_headerinfo ()

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_headerinfo() la funzione accetta un valore di risorsa che rappresenta un flusso IMAP, un valore intero che rappresenta un particolare messaggio come parametri e legge l'intestazione del messaggio specificato.

Sintassi

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

Parametri

Suor n Parametro e descrizione
1

imap_stream (Mandatory)

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

2

msg (Mandatory)

Questo è un valore intero che rappresenta il messaggio / numero di posta.

3

fromlength (Optional)

Questo è un valore intero che rappresenta la lunghezza della proprietà fetchfrom.

4

subjectlength (Optional)

Questo è un valore intero che rappresenta la lunghezza della proprietà fetchsubject.

Valori restituiti

Questa funzione restituisce un oggetto che rappresenta le intestazioni del messaggio specificato in caso di successo e un valore booleano che è 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

L'esempio seguente mostra l'utilizzo di imap_headerinfo() 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>");
		 
         //Fetching the headers of all messages		 
         print("Headers of all messages: "."<br>");
         $res = imap_headerinfo($imap, 2);	
         print_r($res);		     
         //Closing the connection
         imap_close($imap);   
      ?>
   </body>
</html>

Produzione

Questo genererà il seguente output:

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 )

Esempio

Di seguito è riportato un altro esempio della funzione precedente:

<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_headerinfo($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>

Produzione

Questo genererà il seguente output:

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