PHP - Funzione imap_fetchstructure ()

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_fetchstructure() accetta un valore di risorsa che rappresenta un flusso IMAP, un valore intero che rappresenta un messaggio nella cassetta postale come parametri e, legge la struttura del messaggio specificato.

Sintassi

imap_fetchstructure($imap_stream, $msg [, $options]); 

Parametri

options(Optional)

Questo è un parametro opzionale che può essere uno o più dei seguenti:

  • FT_UID

  • FT_PEEK

  • FT_INTERNAL

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, che deve essere contrassegnato per l'eliminazione.

3

msg (Mandatory)

Questo è un valore intero che rappresenta il messaggio / numero di posta, che deve essere contrassegnato per l'eliminazione.

Valori restituiti

Questa funzione restituisce un valore stringa che rappresenta la sezione recuperata di una mail / messaggio.

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_fetchstructure() 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 Structure
         print("Structure: "."<br>");
         $body = imap_fetchstructure($imap, 1);
         print_r($body);
    
         //Closing the connection
         imap_close($imap);   
      ?>
   </body>
</html>

Produzione

Questo genererà il seguente output:

Connection established....
Structure:
stdClass Object ( 
   [type] => 1 [encoding] => 0 [ifsubtype] => 1 
   [subtype] => ALTERNATIVE [ifdescription] => 0 
   [ifid] => 0 [ifdisposition] => 0 [ifdparameters] => 0 
   [ifparameters] => 1 [parameters] => 
   Array ( 
      [0] => stdClass Object ( 
         [attribute] => BOUNDARY 
         [value] => 000000000000a0d34e05b24373f4 
      ) 
   ) 
   [parts] => Array (
      [0] => stdClass Object ( 
         [type] => 0 [encoding] => 0 [ifsubtype] => 1 
         [subtype] => PLAIN [ifdescription] => 0 
         [ifid] => 0 [lines] => 1 [bytes] => 15 
         [ifdisposition] => 0 [ifdparameters] => 0 
         [ifparameters] => 1 [parameters] => Array ( 
            [0] => stdClass Object ( 
               [attribute] => CHARSET [value] => UTF-8 
            ) 
         ) 
      ) 
      [1] => stdClass Object ( 
         [type] => 0 [encoding] => 0 [ifsubtype] => 1 
         [subtype] => HTML [ifdescription] => 0 [ifid] => 0 
         [lines] => 1 [bytes] => 40 [ifdisposition] => 0 
         [ifdparameters] => 0 [ifparameters] => 1 
         [parameters] => Array (
            [0] => stdClass Object (
               [attribute] => CHARSET [value] => UTF-8 
            ) 
         ) 
      )
   ) 
)

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>");
         //Searching emails
         $emailData = imap_search($imap, '');
        
         if (! empty($emailData)) {  
            foreach ($emailData as $msg) {
               $msg = imap_fetchstructure($imap, $msg);
               print($msg."<br>");      			   
            }    
         } 
         //Closing the connection
         imap_close($imap);   
      ?>
   </body>
</html>

Produzione

Questo genererà il seguente output:

Connection established....
stdClass Object ( 
   [type] => 1 [encoding] => 0 [ifsubtype] => 1 
   [subtype] => ALTERNATIVE [ifdescription] => 0 
   [ifid] => 0 [ifdisposition] => 0 [ifdparameters] => 0 
   [ifparameters] => 1 [parameters] => 
   Array ( 
      [0] => stdClass Object ( 
         [attribute] => BOUNDARY [value] => 000000000000a0d34e05b24373f4 
      ) 
   ) 
   [parts] => 
   Array ( 
      [0] => stdClass Object ( 
         [type] => 0 [encoding] => 0 [ifsubtype] => 1 
         [subtype] => PLAIN [ifdescription] => 0 [ifid] => 0 
         [lines] => 1 [bytes] => 15 [ifdisposition] => 0 
         [ifdparameters] => 0 [ifparameters] => 1 
         [parameters] => Array ( 
            [0] => stdClass Object (
               [attribute] => CHARSET [value] => UTF-8 
            ) 
         ) 
      ) 
      [1] => stdClass Object ( 
         [type] => 0 [encoding] => 0 [ifsubtype] => 1 
         [subtype] => HTML [ifdescription] => 0 [ifid] => 0 
         [lines] => 1 [bytes] => 40 [ifdisposition] => 0 
         [ifdparameters] => 0 [ifparameters] => 1 [parameters] => 
         Array (
            [0] => stdClass Object ( 
               [attribute] => CHARSET [value] => UTF-8 
            ) 
         ) 
      ) 
   ) 
)
stdClass Object ( 
   [type] => 1 [encoding] => 0 [ifsubtype] => 1 
   [subtype] => ALTERNATIVE [ifdescription] => 0 [ifid] => 0 
   [ifdisposition] => 0 [ifdparameters] => 0 [ifparameters] => 1 
   [parameters] => 
   Array ( 
      [0] => stdClass Object ( 
         [attribute] => BOUNDARY [value] => 000000000000bb1b8205b24375b9 
      ) 
   ) 
   [parts] => 
   Array ( 
      [0] => stdClass Object ( 
         [type] => 0 [encoding] => 0 [ifsubtype] => 1 
         [subtype] => PLAIN [ifdescription] => 0 [ifid] => 0 
         [lines] => 1 [bytes] => 16 [ifdisposition] => 0 
         [ifdparameters] => 0 [ifparameters] => 1 [parameters] => 
         Array ( 
            [0] => stdClass Object ( 
               [attribute] => CHARSET [value] => UTF-8 
            ) 
         ) 
      ) 
      [1] => stdClass Object (
         [type] => 0 [encoding] => 0 
         [ifsubtype] => 1 [subtype] => HTML [ifdescription] => 0 
         [ifid] => 0 [lines] => 1 [bytes] => 42 [ifdisposition] => 0 
         [ifdparameters] => 0 [ifparameters] => 1 [parameters] => 
         Array ( 
            [0] => stdClass Object ( 
               [attribute] => CHARSET [value] => UTF-8 
            ) 
         ) 
      ) 
   ) 
)

Esempio

Di seguito è riportato un esempio della funzione precedente 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>");
		 
         //Fetching the Structure
         print("Structure: "."<br>");
         $body = imap_fetchstructure($imap, imap_uid($imap, 1), FT_UID);
         print_r($body);
    
         //Closing the connection
         imap_close($imap);   
      ?>
   </body>
</html>

Produzione

Questo genererà il seguente output:

Connection established....
Structure:
stdClass Object ( 
   [type] => 1 [encoding] => 0 [ifsubtype] => 1 
   [subtype] => ALTERNATIVE [ifdescription] => 0 [ifid] => 0 
   [ifdisposition] => 0 [ifdparameters] => 0 [ifparameters] => 1 
   [parameters] => 
   Array ( 
      [0] => stdClass Object ( 
         [attribute] => BOUNDARY [value] => 000000000000a0d34e05b24373f4 
      ) 
   ) 
   [parts] => 
   Array ( 
      [0] => stdClass Object ( 
         [type] => 0 [encoding] => 0 [ifsubtype] => 1 
         [subtype] => PLAIN [ifdescription] => 0 [ifid] => 0 
         [lines] => 1 [bytes] => 15 [ifdisposition] => 0 
         [ifdparameters] => 0 [ifparameters] => 1 [parameters] => 
         Array ( 
            [0] => stdClass Object ( 
               [attribute] => CHARSET [value] => UTF-8 
            ) 
         ) 
      ) [1] => stdClass Object ( 
         [type] => 0 [encoding] => 0 
         [ifsubtype] => 1 [subtype] => HTML [ifdescription] => 0 
         [ifid] => 0 [lines] => 1 [bytes] => 40 
         [ifdisposition] => 0 [ifdparameters] => 0 
         [ifparameters] => 1 [parameters] => 
         Array ( 
            [0] => stdClass Object ( 
               [attribute] => CHARSET [value] => UTF-8 
            ) 
         ) 
      ) 
   ) 
)