Sample code for 30+ languages & platforms
Tcl Requires Chilkat v11.0.0+

Transition from MailMan.FetchMultiple to MailMan.FetchUidlSet

Provides instructions for replacing deprecated FetchMultiple method calls with FetchUidlSet.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

set mailman [new_CkMailMan]

#  ...
#  ...

set saUidls [new_CkStringArray]

CkStringArray_Append $saUidls "aaa"
CkStringArray_Append $saUidls "bbb"
CkStringArray_Append $saUidls "ccc"

set stUidls [new_CkStringTable]

CkStringTable_Append $stUidls "aaa"
CkStringTable_Append $stUidls "bbb"
CkStringTable_Append $stUidls "ccc"

#  ------------------------------------------------------------------------
#  The FetchMultiple method is deprecated:

# bundleObj is a CkEmailBundle
set bundleObj [CkMailMan_FetchMultiple $mailman $saUidls]
if {[CkMailMan_get_LastMethodSuccess $mailman] == 0} then {
    puts [CkMailMan_lastErrorText $mailman]
    delete_CkMailMan $mailman
    delete_CkStringArray $saUidls
    delete_CkStringTable $stUidls
    exit
}

#  ...
#  ...

delete_CkEmailBundle $bundleObj

#  ------------------------------------------------------------------------
#  Do the equivalent using FetchUidlSet.
#  Your application creates a new, empty EmailBundle object which is passed 
#  in the last argument and filled upon success.

set headersOnly 0
#  Irrelevant because we are not downloading headers-only.
set numBodyLines 0

set bundleOut [new_CkEmailBundle]

set success [CkMailMan_FetchUidlSet $mailman $stUidls $headersOnly $numBodyLines $bundleOut]
if {$success == 0} then {
    puts [CkMailMan_lastErrorText $mailman]
    delete_CkMailMan $mailman
    delete_CkStringArray $saUidls
    delete_CkStringTable $stUidls
    delete_CkEmailBundle $bundleOut
    exit
}


delete_CkMailMan $mailman
delete_CkStringArray $saUidls
delete_CkStringTable $stUidls
delete_CkEmailBundle $bundleOut