Sample code for 30+ languages & platforms
Xojo Plugin

Delete IMAP Email

To delete an email, the "Deleted" flag must be set to 1 for each message to be deleted. You must also call Expunge or ExpungeAndClose to remove the emails marked as deleted.

Chilkat Xojo Plugin Downloads

Xojo Plugin
Dim success As Boolean
success = False

// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

// This example deletes email matching a criteria from Inbox.
Dim imap As New Chilkat.Imap

// Turn on session logging:
imap.KeepSessionLog = True

// Connect to an IMAP server.
// Use TLS
imap.Ssl = True
imap.Port = 993
success = imap.Connect("imap.example.com")
If (success = False) Then
    System.DebugLog(imap.LastErrorText)
    Return
End If

// Login
success = imap.Login("myLogin","myPassword")
If (success = False) Then
    System.DebugLog(imap.LastErrorText)
    Return
End If

// Select an IMAP mailbox
success = imap.SelectMailbox("Inbox")
If (success = False) Then
    System.DebugLog(imap.LastErrorText)
    Return
End If

Dim fetchUids As Boolean
fetchUids = True
// Get the message IDs for all emails having "FTP2" in the subject.
Dim messageSet As New Chilkat.MessageSet
success = imap.QueryMbx("SUBJECT FTP2",fetchUids,messageSet)
If (success = False) Then
    System.DebugLog(imap.LastErrorText)
    Return
End If

// Set the Deleted flag for each message:
success = imap.SetFlags(messageSet,"Deleted",1)
If (success = False) Then
    System.DebugLog(imap.LastErrorText)
    Return
End If

// Expunge and close the mailbox.
success = imap.ExpungeAndClose()
If (success = False) Then
    System.DebugLog(imap.LastErrorText)
    Return
End If

// Display the session log.
System.DebugLog(imap.SessionLog)

// Disconnect from the IMAP server.
success = imap.Disconnect()