PureBasic
PureBasic
Transition from MailMan.TransferMultipleMime to MailMan.FetchMimeBd
Provides instructions for replacing deprecated TransferMultipleMime method calls with FetchMimeBd.Chilkat PureBasic Downloads
IncludeFile "CkStringTable.pb"
IncludeFile "CkBinData.pb"
IncludeFile "CkMailMan.pb"
IncludeFile "CkStringArray.pb"
Procedure ChilkatExample()
success.i = 0
mailman.i = CkMailMan::ckCreate()
If mailman.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; ...
; ...
saUidls.i = CkStringArray::ckCreate()
If saUidls.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkStringArray::ckAppend(saUidls,"aaa")
CkStringArray::ckAppend(saUidls,"bbb")
CkStringArray::ckAppend(saUidls,"ccc")
stUidls.i = CkStringTable::ckCreate()
If stUidls.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkStringTable::ckAppend(stUidls,"aaa")
CkStringTable::ckAppend(stUidls,"bbb")
CkStringTable::ckAppend(stUidls,"ccc")
; ------------------------------------------------------------------------
; The TransferMultipleMime method is deprecated:
sa.i = CkMailMan::ckTransferMultipleMime(mailman,saUidls)
If CkMailMan::ckLastMethodSuccess(mailman) = 0
Debug CkMailMan::ckLastErrorText(mailman)
CkMailMan::ckDispose(mailman)
CkStringArray::ckDispose(saUidls)
CkStringTable::ckDispose(stUidls)
ProcedureReturn
EndIf
; ...
; ...
CkStringArray::ckDispose(sa)
; ------------------------------------------------------------------------
; Do the equivalent using FetchMimeBd.
CkMailMan::setCkImmediateDelete(mailman, 0)
success = 0
bdMime.i = CkBinData::ckCreate()
If bdMime.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
numUidls.i = CkStringTable::ckCount(stUidls)
i.i = 0
While i < numUidls
success = CkMailMan::ckFetchMimeBd(mailman,CkStringTable::ckStringAt(stUidls,i),bdMime)
; ...
; Mark the email for deletion.
success = CkMailMan::ckDeleteByUidl(mailman,CkStringTable::ckStringAt(stUidls,i))
; ...
i = i + 1
Wend
; emails marked for deletion will be deleted at this time
success = CkMailMan::ckPop3EndSession(mailman)
CkMailMan::ckDispose(mailman)
CkStringArray::ckDispose(saUidls)
CkStringTable::ckDispose(stUidls)
CkBinData::ckDispose(bdMime)
ProcedureReturn
EndProcedure