PHP - Função imap_expunge ()

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.

Você pode marcar os e-mails / mensagens de uma caixa de correio específica para exclusão usando qualquer uma das funções imap_delete (), imap_mail_move () ou imap_setflag_full ().

o imap_expunge() A função aceita um valor de recurso que representa um fluxo IMAP como parâmetro e remove todas as mensagens marcadas para exclusão.

Sintaxe

imap_expunge($imap_stream);

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.

Valores Retornados

Esta função retorna um booleano TRUE.

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_delete() 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>");
		 		 
         //Marking message for deletion
         $res = imap_delete($imap, 5);
         if($res){
            print("Message marked for deletion"."<br>");
         }		 
         //Deleting messages
         $res = imap_expunge($imap);	 	
         if($res){
            print("Message deleted");
         }		 		 
         //Closing the connection
         imap_close($imap);   
      ?>
   </body>
</html>

Resultado

Isso irá gerar a seguinte saída -

Connection established....
Message marked for deletion
Message deleted

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>");
         print("Contents  of inbox: "."<br>");
         $emailData = imap_search($imap, '');
         foreach ($emailData as $msg) {
            $msg = imap_fetchbody($imap, $msg, "1");
            print(quoted_printable_decode($msg)."<br>");                
         }    
         //Marking message for deletion
         imap_delete($imap, 5);
         
         //Deleting messages
         imap_expunge($imap);	 		 
		 
         print("Contents of inbox after deletion: "."<br>");
         $emailData = imap_search($imap, '');
         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 inbox:
#sample_mail1
#sample_mail2
#sample_mail3
#sample_mail4
#sample_mail5
Contents of inbox after deletion:
#sample_mail1
#sample_mail2
#sample_mail3
#sample_mail4