Sample code for 30+ languages & platforms
C

Transition from MailMan.FetchMultipleHeaders to MailMan.FetchUidlSet

Provides instructions for replacing deprecated FetchMultipleHeaders method calls with FetchUidlSet.

Chilkat C Downloads

C
#include <C_CkMailMan.h>
#include <C_CkStringArray.h>
#include <C_CkStringTable.h>
#include <C_CkEmailBundle.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkMailMan mailman;
    HCkStringArray saUidls;
    HCkStringTable stUidls;
    int numBodyLines;
    HCkEmailBundle bundleObj;
    BOOL headersOnly;
    HCkEmailBundle bundleOut;

    success = FALSE;

    mailman = CkMailMan_Create();

    //  ...
    //  ...

    saUidls = CkStringArray_Create();
    CkStringArray_Append(saUidls,"aaa");
    CkStringArray_Append(saUidls,"bbb");
    CkStringArray_Append(saUidls,"ccc");

    stUidls = CkStringTable_Create();
    CkStringTable_Append(stUidls,"aaa");
    CkStringTable_Append(stUidls,"bbb");
    CkStringTable_Append(stUidls,"ccc");

    numBodyLines = 5;

    //  ------------------------------------------------------------------------
    //  The FetchMultipleHeaders method is deprecated:

    bundleObj = CkMailMan_FetchMultipleHeaders(mailman,saUidls,numBodyLines);
    if (CkMailMan_getLastMethodSuccess(mailman) == FALSE) {
        printf("%s\n",CkMailMan_lastErrorText(mailman));
        CkMailMan_Dispose(mailman);
        CkStringArray_Dispose(saUidls);
        CkStringTable_Dispose(stUidls);
        return;
    }

    //  ...
    //  ...

    CkEmailBundle_Dispose(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.

    headersOnly = TRUE;

    bundleOut = CkEmailBundle_Create();
    success = CkMailMan_FetchUidlSet(mailman,stUidls,headersOnly,numBodyLines,bundleOut);
    if (success == FALSE) {
        printf("%s\n",CkMailMan_lastErrorText(mailman));
        CkMailMan_Dispose(mailman);
        CkStringArray_Dispose(saUidls);
        CkStringTable_Dispose(stUidls);
        CkEmailBundle_Dispose(bundleOut);
        return;
    }



    CkMailMan_Dispose(mailman);
    CkStringArray_Dispose(saUidls);
    CkStringTable_Dispose(stUidls);
    CkEmailBundle_Dispose(bundleOut);

    }