Sample code for 30+ languages & platforms
Tcl

Delete All Email in a POP3 Mailbox

Delete all email in a POP3 mailbox.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

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

# The mailman object is used for receiving (POP3) 
# and sending (SMTP) email.
set mailman [new_CkMailMan]

# Set the POP3 server's hostname
CkMailMan_put_MailHost $mailman "pop.example.com"

# Set the POP3 login/password.
CkMailMan_put_PopUsername $mailman "bob@example.com"
CkMailMan_put_PopPassword $mailman "****"

# Make sure the ImmediateDelete property is set (this is the default)
# If ImmediateDelete is not set, messages marked for deletion
# by the Delete* methods will not be deleted until the POP3
# connection is closed by calling Pop3EndSession.
CkMailMan_put_ImmediateDelete $mailman 1

# First, get all the UIDLs.
set stUidls [new_CkStringTable]

set success [CkMailMan_FetchUidls $mailman $stUidls]
if {$success == 0} then {
    puts [CkMailMan_lastErrorText $mailman]
    delete_CkMailMan $mailman
    delete_CkStringTable $stUidls
    exit
}

# Next, delete them all.
set success [CkMailMan_DeleteUidlSet $mailman $stUidls]
if {$success == 0} then {
    puts [CkMailMan_lastErrorText $mailman]
    delete_CkMailMan $mailman
    delete_CkStringTable $stUidls
    exit
}

# We're done with the POP3 session, so it doesn't hurt to call this...
set success [CkMailMan_Pop3EndSession $mailman]
if {$success == 0} then {
    puts [CkMailMan_lastErrorText $mailman]
    delete_CkMailMan $mailman
    delete_CkStringTable $stUidls
    exit
}

puts "Success."

delete_CkMailMan $mailman
delete_CkStringTable $stUidls