PHP - Função imap_rename ()

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_rename()function é um apelido de imap_renamemailbox (). Ele aceita um valor de recurso que representa um fluxo IMAP, dois valores de string que representam o nome antigo e o novo nome da caixa de correio como parâmetros e renomeia a caixa de correio fornecida.

Sintaxe

imap_rename($imap_stream, $old_mail, $new_mail);

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

old_mail (Mandatory)

Este é um valor de string que representa o nome antigo da caixa de correio.

3

new_mail(Mandatory)

Este é um valor de string que representa o novo nome da caixa de correio.

Valores Retornados

Esta função retorna um valor booleano que é TRUE em caso de sucesso e FALSE em caso de falha.

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_rename() função -

<html>
   <body>
      <?php
         $url = "{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX";
         $id = "[email protected]";
         $pwd = "cohondob_123";
         $mailbox = imap_open($url, $id, $pwd);
         print("Connection established....");
         print("<br>");    
		 
         //Renaming the existing mailbox
         $old_name = "{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX.test_mail2";
         $new_name = "{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX.changed_mail2";

         $res = imap_rename($mailbox, $old_name, $new_name);		 
         if($res){
            print("Name changed");
         }else{
            print("Error occurred");
         }
      ?>
   </body>
</html>

Resultado

Isso irá gerar a seguinte saída -

Connection established....
Name changed

Exemplo

A seguir está outro exemplo desta função -

<html>
   <body>
      <?php
         $url = "{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX";
         $id = "[email protected]";
         $pwd = "cohondob_123";
         $mailbox = imap_open($url, $id, $pwd);
         print("Connection established....");
         print("<br>");

         //Creating mailboxes
         $newmailbox1 = "{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX.my_mail1";
         $newmailbox2 = "{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX.my_mail2";
         $res = imap_create($mailbox, imap_utf7_encode($newmailbox1));
         $res = imap_create($mailbox, imap_utf7_encode($newmailbox2));

         //Retrieving the contents of mail boxes
         print("List of mailboxes: ");
         print("<br>");
         $list = imap_getmailboxes($mailbox, $url, "*");
         foreach ($list as $key => $val) {
            print_r($val->name);
            print("<br>");
         }	 
         //Renaming the existing mailbox
         $new_name = "{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX.changed_mail";
         imap_rename($mailbox, $newmailbox2, $new_name);

         //Retrieving the contents of mail boxes
         print("<br>");
         print("List of mailboxes after deletion: ");
         print("<br>");
         $list = imap_getmailboxes($mailbox, $url, "*");
         foreach ($list as $key => $val) {
            print_r($val->name);
            print("<br>");
         }	 		 
      ?>
   </body>
</html>

Resultado

O exemplo acima gera a seguinte saída -

Connection established....
List of mailboxes:
{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX
{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX.my_mail1
{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX.my_mail2

List of mailboxes after deletion:
{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX
{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX.changed_mail
{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX.my_mail1