Sample code for 30+ languages & platforms
PureBasic

Transition from MailMan.TransferMail to MailMan.FetchAll

Provides instructions for replacing deprecated TransferMail method calls with FetchAll.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkEmailBundle.pb"
IncludeFile "CkMailMan.pb"

Procedure ChilkatExample()

    success.i = 0

    mailman.i = CkMailMan::ckCreate()
    If mailman.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    ; ...
    ; ...

    ; ------------------------------------------------------------------------
    ; The TransferMail method is deprecated:

    bundleObj.i = CkMailMan::ckTransferMail(mailman)
    If CkMailMan::ckLastMethodSuccess(mailman) = 0
        Debug CkMailMan::ckLastErrorText(mailman)
        CkMailMan::ckDispose(mailman)
        ProcedureReturn
    EndIf

    ; ...
    ; ...

    CkEmailBundle::ckDispose(bundleObj)

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

    keepOnServer.i = 0
    headersOnly.i = 0
    ; Irrelevent because we are not downloading headers-only.
    numBodyLines.i = 0

    bundleOut.i = CkEmailBundle::ckCreate()
    If bundleOut.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    success = CkMailMan::ckFetchAll(mailman,keepOnServer,headersOnly,numBodyLines,bundleOut)
    If success = 0
        Debug CkMailMan::ckLastErrorText(mailman)
        CkMailMan::ckDispose(mailman)
        CkEmailBundle::ckDispose(bundleOut)
        ProcedureReturn
    EndIf



    CkMailMan::ckDispose(mailman)
    CkEmailBundle::ckDispose(bundleOut)


    ProcedureReturn
EndProcedure