PHP - Funzione imap_last_error ()

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. Ilimap_last_error() la funzione recupera e restituisce il testo completo dell'ultimo messaggio di errore occorso nella pagina corrente.

Sintassi

imap_last_error();

Parametri

Questa funzione non accetta alcun parametro.

Valori restituiti

Questa funzione restituisce un valore stringa contenente il messaggio dell'ultimo errore verificatosi in caso di esito positivo e, in caso di esito negativo, restituisce un valore booleano che è FALSE.

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_last_error() funzione -

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

Produzione

Questo genera il seguente output:

Warning: imap_open(): Couldn't open stream 
{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX in 
C:\Apache24\htdocs\examples\demo2.html on line 7

Errors:

Notice: Unknown: [AUTHENTICATIONFAILED] Invalid credentials (Failure) (errflg=1) in Unknown on line 0

Notice: Unknown: [AUTHENTICATIONFAILED] Invalid credentials (Failure) (errflg=1) in Unknown on line 0

Notice: Unknown: [AUTHENTICATIONFAILED] Invalid credentials (Failure) (errflg=1) in Unknown on line 0

Notice: Unknown: Too many login failures (errflg=2) in Unknown on line 0

Esempio

Di seguito è riportato un altro esempio di questa funzione:

<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.test_mail1";
         $newmailbox2 = "{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX.test_mail2";            
         $res = imap_createmailbox($mailbox, imap_utf7_encode($newmailbox1));
         $res = imap_createmailbox($mailbox, imap_utf7_encode($newmailbox2));

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

Produzione

Questo genererà il seguente output:

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

Notice: Array to string conversion in C:\Apache24\htdocs\examples\trail.html on line 25
Array{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX.changed_mail1
{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX.changed_mail2
{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX.de