Tcl
Tcl
Retrieve UIDL's from POP3 Server
Retrieve a list of UIDLs from a POP3 server. UIDLs are unique identifiers, 1 to 70 characters long, composed of characters ranging from 0x21 to 0x7E. These identifiers uniquely distinguish messages within a mailbox and remain consistent across sessions.Chilkat Tcl Downloads
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]
CkMailMan_put_MailHost $mailman "pop.example.com"
CkMailMan_put_PopUsername $mailman "myLogin"
CkMailMan_put_PopPassword $mailman "myPassword"
CkMailMan_put_MailPort $mailman 995
CkMailMan_put_PopSsl $mailman 1
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
}
# Download each email by UIDL.
set email [new_CkEmail]
set count [CkStringTable_get_Count $stUidls]
set i 0
while {$i < $count} {
# Download the full email.
set uidl [CkStringTable_stringAt $stUidls $i]
set success [CkMailMan_FetchByUidl $mailman $uidl 0 0 $email]
if {$success == 0} then {
puts [CkMailMan_lastErrorText $mailman]
delete_CkMailMan $mailman
delete_CkStringTable $stUidls
delete_CkEmail $email
exit
}
puts "$i"
puts "UIDL: $uidl"
puts "From: [CkEmail_from $email]"
puts "Subject: [CkEmail_subject $email]"
set i [expr $i + 1]
}
CkMailMan_Pop3EndSession $mailman
delete_CkMailMan $mailman
delete_CkStringTable $stUidls
delete_CkEmail $email