Tcl Requires Chilkat v11.0.0+
Tcl
Transition from MailMan.TransferMultipleMime to MailMan.FetchMimeBd
Provides instructions for replacing deprecated TransferMultipleMime method calls with FetchMimeBd.Chilkat Tcl Downloads
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 TransferMultipleMime method is deprecated:
# sa is a CkStringArray
set sa [CkMailMan_TransferMultipleMime $mailman $saUidls]
if {[CkMailMan_get_LastMethodSuccess $mailman] == 0} then {
puts [CkMailMan_lastErrorText $mailman]
delete_CkMailMan $mailman
delete_CkStringArray $saUidls
delete_CkStringTable $stUidls
exit
}
# ...
# ...
delete_CkStringArray $sa
# ------------------------------------------------------------------------
# Do the equivalent using FetchMimeBd.
CkMailMan_put_ImmediateDelete $mailman 0
set success 0
set bdMime [new_CkBinData]
set numUidls [CkStringTable_get_Count $stUidls]
set i 0
while {$i < $numUidls} {
set success [CkMailMan_FetchMimeBd $mailman [CkStringTable_stringAt $stUidls $i] $bdMime]
# ...
# Mark the email for deletion.
set success [CkMailMan_DeleteByUidl $mailman [CkStringTable_stringAt $stUidls $i]]
# ...
set i [expr $i + 1]
}
# emails marked for deletion will be deleted at this time
set success [CkMailMan_Pop3EndSession $mailman]
delete_CkMailMan $mailman
delete_CkStringArray $saUidls
delete_CkStringTable $stUidls
delete_CkBinData $bdMime