PHP - imap_last_error() Function
PHP−IMAP functions helps you to access email accounts, IMAP stands for Internet Mail Access Protocol using these functions you can also work with NNTP, POP3 protocols and local mailbox access methods. The imap_last_error() function retrieves and returns the full text of the last occurred error message in the current page.
Syntax
imap_last_error();
Parameters
This function doesnt accept any parameters.
Return Values
This function returns a string value containing the message of the lasty occurred error in case of success and, it returns a Boolean which is FALSE in case of failure.
PHP Version
This function was first introduced in PHP Version 4 and works in all the later versions.
Example
Following example demonstrates the usage of the imap_last_error() function −
<html>
<body>
<?php
$url = "{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX";
$id = "tutorialspoint.test@gmail.com";
$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>
Output
This generates the following 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
Example
Following is another example of this function −
<html>
<body>
<?php
$url = "{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX";
$id = "tutorialspoint.test@gmail.com";
$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>
Output
This will generate the following 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