PHP - Função imap_fetchbody ()

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_fetchbody() função aceita um valor de recurso que representa um fluxo IMAP, um valor inteiro que representa uma mensagem na caixa de correio, um valor de string contendo o (s) número (s) de peça de uma mensagem, como parâmetros e, recupera a seção especificada do corpo da mensagem.

Sintaxe

imap_fetchbody($imap_stream, $msg, $section [, $options]);

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, que deve ser marcado para exclusão.

3

section(Mandatory)

Este é um valor de string que representa os números da mensagem (separados por ".").

4

options(Optional)

Este é um parâmetro opcional que pode ser um ou mais dos seguintes -

  • FT_UID

  • FT_PEEK

  • FT_INTERNAL

  • FT_INTERNAL

Valores Retornados

Esta função retorna um valor de string que representa a seção recuperada de um e-mail / mensagem.

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_fetchbody() 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 contents of a message
         print("Contents of the first message: "."<br>");
         $body = imap_fetchbody($imap, 1, 1);
         print_r($body);
    
         //Closing the connection
         imap_close($imap);   
      ?>
   </body>
</html>

Resultado

Isso irá gerar a seguinte saída -

Connection established....
Contents of the first message:
#sample_mail1

Exemplo

O exemplo a seguir busca os UIDs das mensagens no fluxo 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>");
		 
         //Fetching the contents of a message
         print("Contents of the first message: "."<br>");
         $body = imap_fetchbody($imap, imap_uid($imap, 1), 1, FT_UID);
         print_r($body);
    
         //Closing the connection
         imap_close($imap);   
      ?>
   </body>
</html>

Resultado

Isso irá gerar a seguinte saída -

Connection established....
Contents of the first message:
#sample_mail1

Exemplo

A seguir está outro exemplo dessa função: estabelecemos conexão com uma caixa de correio específica e recuperamos o conteúdo da mensagem nela.

<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_fetchbody($imap, $msg, "1");
               print(quoted_printable_decode($msg)."<br>");                
            }    
         } 
         //Closing the connection
         imap_close($imap);   
      ?>
   </body>
</html>

Resultado

Este programa gera a seguinte saída -

Connection established....
#sample_mail1
#sample_mail2
#sample_mail3
#sample_mail4
#sample_mail5
#sample_mail6