Programming Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

C Examples

Bounced Mail
Bz2
Certificates/Keys
Charset
CSV
Diffie-Hellman
DSA
Email Object
Encryption
FileAccess
FTP
HTML-to-XML
HTTP
IMAP
MHT / HTML Email
MIME
POP3
RSA
SMTP
Socket
Spider
SSH Key
SSH
SSH Tunnel
SFTP
Tar
Upload
XML
Zip


 

 

 

 

 

 

 

 

Search/Download only Encrypted Emails

Searching an IMAP mailbox for emails that are encrypted and download. Emails are automatically decrypted.

Download Chilkat C/C++ Libraries for VC++ 9.0 / Win32

Download Chilkat C/C++ Libraries for VC++ 8.0 / Win32

Download Chilkat C/C++ 64-bit Libraries for VC++ 8.0 / x64

Download Chilkat Visual Studio 2005 C/C++ Libs for Windows Mobile, Pocket PC, SmartPhone, WinCE

Download Chilkat C/C++ Libraries for VC++ 7.0 / Win32

Download Chilkat C/C++ Libraries for VC++ 6.0 / Win32

Download Chilkat C/C++ Libraries for VC++ 6.0, Win 95/98/NT4 Compatible

#include <C_CkImap.h>
#include <C_CkMessageSet.h>
#include <C_CkEmailBundle.h>
#include <C_CkEmail.h>

void ChilkatSample(void)
    {
    HCkImap imap;
    BOOL success;
    const char * headerSearch;
    HCkMessageSet messageSet;
    BOOL fetchUids;
    HCkEmailBundle bundle;
    long i;
    HCkEmail email;

    imap = CkImap_Create();

    //  Anything unlocks the component and begins a fully-functional 30-day trial.
    success = CkImap_UnlockComponent(imap,"Anything for 30-day trial");
    if (success != TRUE) {
        printf("%s\n",CkImap_lastErrorText(imap));
        return;
    }

    //  Connect to an IMAP server.
    success = CkImap_Connect(imap,"www.cknotes.com");
    if (success != TRUE) {
        printf("%s\n",CkImap_lastErrorText(imap));
        return;
    }

    //  Login
    success = CkImap_Login(imap,"myLogin","myPassword");
    if (success != TRUE) {
        printf("%s\n",CkImap_lastErrorText(imap));
        return;
    }

    //  Select an IMAP mailbox
    success = CkImap_SelectMailbox(imap,"Inbox");
    if (success != TRUE) {
        printf("%s\n",CkImap_lastErrorText(imap));
        return;
    }

    //  An S/MIME encrypted email should have a content-type
    //  header containing the substring "pkcs7-mime":

    headerSearch = "HEADER Content-Type pkcs7-mime";

    fetchUids = TRUE;
    messageSet = CkImap_Search(imap,headerSearch,fetchUids);
    if (messageSet == 0 ) {
        printf("%s\n",CkImap_lastErrorText(imap));
        return;
    }

    //  Download the emails indicated in the messageSet.
    //  The emails are automatically decrypted.

    bundle = CkImap_FetchBundle(imap,messageSet);
    if (bundle == 0 ) {
        CkMessageSet_Dispose(messageSet);
        printf("%s\n",CkImap_lastErrorText(imap));
        return;
    }

    //  Display some information from each email:

    for (i = 0; i <= CkEmailBundle_getMessageCount(bundle) - 1; i++) {

        email = CkEmailBundle_GetEmail(bundle,i);

        printf("%s\n",CkEmail_getHeaderField(email,"Date"));
        printf("%s\n",CkEmail_subject(email));
        printf("%s\n",CkEmail_ck_from(email));

        printf("Received Encrypted: %d\n",CkEmail_getReceivedEncrypted(email));
        if (CkEmail_getReceivedEncrypted(email) == TRUE) {
            printf("Successfully Decrypted: %d\n"
                ,CkEmail_getDecrypted(email));
        }

        printf("Received Signed: %d\n",CkEmail_getReceivedSigned(email));
        if (CkEmail_getReceivedSigned(email) == TRUE) {
            printf("Signature Verified: %d\n"
                ,CkEmail_getSignaturesValid(email));
        }

        printf("--\n");

        CkEmail_Dispose(email);
    }

    //  Disconnect from the IMAP server.
    CkImap_Disconnect(imap);

    CkMessageSet_Dispose(messageSet);
    CkEmailBundle_Dispose(bundle);

    CkImap_Dispose(imap);

    }

Need a specific example? Send a request to support@chilkatsoft.com

© 2000-2008 Chilkat Software, Inc. All Rights Reserved.