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


 

 

 

 

 

 

 

 

Process New Email by Scanning for Senders

Scan email and save application-selected emails to EML files with unique filenames.

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;
    HCkMessageSet messageSet;
    BOOL fetchUids;
    HCkEmailBundle bundle;
    long i;
    HCkEmail email;
    const char * uidStr;
    long uid;
    HCkEmail fullEmail;
    const char * filename;

    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,"mail.chilkatsoft.com");
    if (success != TRUE) {
        printf("%s\n",CkImap_lastErrorText(imap));
        return;
    }

    //  Login
    success = CkImap_Login(imap,"admin@chilkatsoft.com","*myPassword5*");
    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;
    }

    //  We can choose to fetch UIDs or sequence numbers.

    fetchUids = TRUE;

    //  Fetch messages from the mailbox using a search criteria.
    //  This example finds NEW emails: these are emails that have the RECENT flag set, but not the SEEN flag:
    messageSet = CkImap_Search(imap,"NEW",fetchUids);
    if (messageSet == 0 ) {
        printf("%s\n",CkImap_lastErrorText(imap));
        return;
    }

    //  This example will download headers, and then download
    //  the full email for those emails sent from a contact
    //  in our database.

    //  When downloading headers, each email object contains
    //  (obviously) the headers, but the body will be missing.
    //  Also, attachments will not be included.  However, it is
    //  possible to get information about the attachments
    //  as well as the complete size of the email.

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

    //  Loop over the email objects...

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

        email = CkEmailBundle_GetEmail(bundle,i);

        //  The sender's email address and name are available
        //  in the From, FromAddress, and FromName properties.
        //  If the sender is "Chilkat Support <support@chilkatsoft.com",
        //  then the From property will hold the entire string.
        //  the FromName property contains"Chilkat Support",
        //  and the FromAddress property contains "support@chilkatsoft.com"
        printf("%s\n",CkEmail_ck_from(email));
        printf("%s\n",CkEmail_fromAddress(email));
        printf("%s\n",CkEmail_fromName(email));

        //  Assume at this point your code checks to see if the sender
        //  is one in your contacts database.  If so, this is
        //  the code you would write to download the entire
        //  email and save it to a file.

        //  The ckx-imap-uid header field is added when
        //  headers are downloaded.  This makes it possible
        //  to get the UID from the email object.

        uidStr = CkEmail_getHeaderField(email,"ckx-imap-uid");

        uid = atoi(uidStr);

        fullEmail = CkImap_FetchSingle(imap,uid,TRUE);
        if (!(fullEmail == 0 )) {
            //  You may use the GenerateFilename method to
            //  generate a unique filename...

            filename = CkEmail_generateFilename(fullEmail);

            //  SaveEml saves the entire email, including attachments.
            CkEmail_SaveEml(fullEmail,filename);
            CkEmail_Dispose(fullEmail);
        }

        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.