PHP - imap_delete() 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_delete() function accepts a resource value representing an IMAP stream, an integer value representing a message in the mailbox as parameters and marks the specified message(s) for deletion.
Once you mark the desired messages using this function, they will be removed from the mailbox whenever the function imap_expunge() is invoked or, whenever the close() function is invokes using the CL_EXPLUNGE as a parameter.
Syntax
imap_delete($imap_stream, $msg [, $options]);
Parameters
| Sr.No | Parameter & Description |
|---|---|
| 1 |
imap_stream (Mandatory) This is a string value representing an IMAP stream, return value of the imap_open() function. |
| 2 |
msg (Mandatory) This is an integer value representing the message/mail number, that is to marked for deletion. |
| 3 |
options(Optional) This is an integer value representing an optional value FT_UID, if specified the value passed as msg argument is treated as UID. |
Return Values
This function returns a Boolean value which is TRUE in case of success and FALSE in case of a 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_delete() function −
<html>
<body>
<?php
//Establishing connection
$url = "{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX";
$id = "tutorialspoint.test@gmail.com";
$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>
Output
This will generate the following output −
Connection established.... Message marked for deletion Message deleted
Example
Following is another example of the above function −
<html>
<body>
<?php
//Establishing connection
$url = "{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX";
$id = "tutorialspoint.test@gmail.com";
$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>
Output
This will generate the following output −
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
Example
Following is an example of the above function with optional parameters −
<html>
<body>
<?php
//Establishing connection
$url = "{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX";
$id = "tutorialspoint.test@gmail.com";
$pwd = "cohondob_123";
$imap = imap_open($url, $id, $pwd);
print("Connection established...."."<br>");
//Marking message for deletion
$res = imap_delete($imap, imap_uid($imap, 5), FT_UID );
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>
Output
This will generate the following output −
Connection established.... Message marked for deletion Message deleted