Sample code for 30+ languages & platforms
Tcl

Read All Email from POP3 Inbox by Message Numbers

Demonstrates how to read all of the email from a POP3 inbox by fetching each email by it's message number.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

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

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 "myLogin"
CkMailMan_put_PopPassword $mailman "myPassword"

# Get the number of messages in the mailbox.
set numMessages [CkMailMan_GetMailboxCount $mailman]

# Message numbers are specific to a POP3 session. 
# If a maildrop (i.e. inbox)  contains 10 messages, 
# the message numbers will be 1, 2, 3, ... 10. 
# If message number 1 is deleted and a new POP3 session 
# is established, there will be 9 messages numbered 1, 2, 3, ... 9. 

set i 1

set email [new_CkEmail]

while {$i <= $numMessages} {
    # Fetch by the message number (not by the UIDL)
    set success [CkMailMan_FetchOne $mailman 0 0 $i $email]
    if {$success == 0} then {
        puts [CkMailMan_lastErrorText $mailman]
        delete_CkMailMan $mailman
        delete_CkEmail $email
        exit
    }

    puts [CkEmail_from $email]: [CkEmail_subject $email]\n

    set i [expr $i + 1]
}

delete_CkMailMan $mailman
delete_CkEmail $email