Sample code for 30+ languages & platforms
Xojo Plugin

End a POP3 Session Without Committing Deletions

See more POP3 Examples

Demonstrates the Chilkat MailMan.Pop3EndSessionNoQuit method, which closes the POP3 connection without sending the QUIT command. Pending deletion marks are not committed — messages marked with DELE during the session remain in the mailbox. This example marks a message for deletion and then abandons the session so the deletion does not take effect.

Background: POP3's deferred-deletion model effectively gives you a transaction: marks made with DELE are only applied when the session ends with QUIT. Ending without QUIT is therefore a rollback — useful if an error occurs mid-processing and you'd rather leave the mailbox untouched than risk deleting messages you failed to handle. Use Pop3EndSession when you do want the deletions committed.

Chilkat Xojo Plugin Downloads

Xojo Plugin
Dim success As Boolean
success = False

//  Demonstrates the MailMan.Pop3EndSessionNoQuit method, which closes the POP3 connection
//  WITHOUT sending the QUIT command.  Pending deletion marks are not committed -- messages
//  marked with DELE during the session remain in the mailbox.

Dim mailman As New Chilkat.MailMan

//  Configure the POP3 server connection.
mailman.MailHost = "pop.example.com"
mailman.MailPort = 995
mailman.PopSsl = True
mailman.PopUsername = "user@example.com"
mailman.PopPassword = "myPassword"

success = mailman.Pop3BeginSession()
If (success = False) Then
    System.DebugLog(mailman.LastErrorText)
    Return
End If

//  Mark a message for deletion...
success = mailman.DeleteByMsgnum(1)
If (success = False) Then
    System.DebugLog(mailman.LastErrorText)
    Return
End If

//  ...but end the session without QUIT, so the deletion is NOT committed and the message
//  remains in the mailbox.
success = mailman.Pop3EndSessionNoQuit()
If (success = False) Then
    System.DebugLog(mailman.LastErrorText)
    Return
End If

System.DebugLog("Session closed without committing the pending deletion.")