PHP - Fonction imap_expunge ()

Les fonctions PHP-IMAP vous aident à accéder aux comptes de messagerie, IMAP signifie IInternet Mail Aaccès Protocol en utilisant ces fonctions, vous pouvez également travailler avec les protocoles NNTP, POP3 et les méthodes d'accès aux boîtes aux lettres locales.

Vous pouvez marquer les mails / messages d'une boîte aux lettres spécifique pour suppression en utilisant l'une des fonctions imap_delete (), imap_mail_move () ou imap_setflag_full ().

le imap_expunge() La fonction accepte une valeur de ressource représentant un flux IMAP comme paramètre et supprime tous les messages marqués pour suppression.

Syntaxe

imap_expunge($imap_stream);

Paramètres

Sr.Non Paramètre et description
1

imap_stream (Mandatory)

Il s'agit d'une valeur de chaîne représentant un flux IMAP, valeur de retour du imap_open() fonction.

Valeurs de retour

Cette fonction renvoie une valeur booléenne TRUE.

Version PHP

Cette fonction a été introduite pour la première fois dans la version 4 de PHP et fonctionne dans toutes les versions ultérieures.

Exemple

L'exemple suivant montre l'utilisation du imap_delete() fonction -

<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>

Production

Cela générera la sortie suivante -

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

Exemple

Voici un autre exemple de la fonction ci-dessus -

<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>

Production

Cela générera la sortie suivante -

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