Tcl
Tcl
Download POP3 Email to MIME
Download the email from a POP3 mailbox directly into MIME, without parsing into email objects.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.
# 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 "myLogin"
CkMailMan_put_PopPassword $mailman "myPassword"
# First, get the complete set of UIDLs for the email in the POP3 mailbox:
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 as MIME.
# If desired, the MIME can be loaded into an email object.
set bdMime [new_CkBinData]
set email [new_CkEmail]
set count [CkStringTable_get_Count $stUidls]
set i 0
while {$i < $count} {
set success [CkMailMan_FetchMimeBd $mailman [CkStringTable_stringAt $stUidls $i] $bdMime]
if {$success == 0} then {
puts [CkMailMan_lastErrorText $mailman]
delete_CkMailMan $mailman
delete_CkStringTable $stUidls
delete_CkBinData $bdMime
delete_CkEmail $email
exit
}
CkEmail_SetFromMimeBd $email $bdMime
puts "From: [CkEmail_from $email]"
puts "Subject: [CkEmail_subject $email]"
set i [expr $i + 1]
}
delete_CkMailMan $mailman
delete_CkStringTable $stUidls
delete_CkBinData $bdMime
delete_CkEmail $email