Visual C++ Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Visual C++ Examples

CkString
Byte Array
Bounced Mail
Bz2
Character Encoding
CSV
DH Key Exchange
DKIM/DomainKeys
Digital Certificates
Digital Signatures
DSA
Email
Encryption
FTP
HTML-to-XML
HTTP
IMAP
MHT / HTML Email
POP3
RSA
S/MIME
SMTP
Socket
Spider
SSH Key
SSH
SSH Tunnel
SFTP
Tar
Upload
XML
XMP
Zip Compression


More Examples...
Email Object
NTLM
FileAccess
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
Bzip2
LZW

 

 

 

 

 

 

 

 

Read IMAP Email Headers

Call FetchHeaders to download only the email headers.

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

Download Chilkat C/C++ Libraries for VC++ 10.0 / x64

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

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

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 <CkImap.h>
#include <CkMessageSet.h>
#include <CkEmailBundle.h>
#include <CkEmail.h>
#include <CkString.h>

void ChilkatSample(void)
    {
    CkImap imap;

    bool success;

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

    //  Connect to an IMAP server.
    success = imap.Connect("mail.chilkatsoft.com");
    if (success != true) {
        printf("%s\n",imap.lastErrorText());
        return;
    }

    //  Login
    success = imap.Login("****","****");
    if (success != true) {
        printf("%s\n",imap.lastErrorText());
        return;
    }

    //  Select an IMAP mailbox
    success = imap.SelectMailbox("Inbox");
    if (success != true) {
        printf("%s\n",imap.lastErrorText());
        return;
    }

    CkMessageSet *messageSet = 0;
    //  We can choose to fetch UIDs or sequence numbers.
    bool fetchUids;
    fetchUids = true;
    //  Get the message IDs of all the emails in the mailbox
    messageSet = imap.Search("ALL",fetchUids);
    if (messageSet == 0 ) {
        printf("%s\n",imap.lastErrorText());
        return;
    }

    //  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.
    CkEmailBundle *bundle = 0;
    bundle = imap.FetchHeaders(*messageSet);
    if (bundle == 0 ) {
        delete messageSet;
        printf("%s\n",imap.lastErrorText());
        return;
    }

    //  Loop over the email objects and display information
    //  about each:
    int i;
    for (i = 0; i <= bundle->get_MessageCount() - 1; i++) {
        CkEmail *email = 0;
        email = bundle->GetEmail(i);

        //  Display the From and Subject
        printf("%s\n",email->ck_from());
        printf("%s\n",email->subject());

        //  Display the recipients:
        int j;
        CkString name;
        CkString addr;
        for (j = 0; j <= email->get_NumTo() - 1; j++) {
            name = email->getToName(j);
            addr = email->getToAddr(j);
            printf("%s, %s\n",(const char *)name
                ,(const char *)addr);
        }

        for (j = 0; j <= email->get_NumCC() - 1; j++) {
            name = email->getCcName(j);
            addr = email->getCcAddr(j);
            printf("%s, %s\n",(const char *)name
                ,(const char *)addr);
        }

        //  Show the total size of the email, including body and attachments:
        printf("%d\n",email->get_Size());

        //  When a full email is downloaded, we would use the
        //  email.NumAttachments property in conjunction with the
        //  email.GetMailAttach* methods.
        //  However, when an email object contains only the header,
        //  we need to access the attachment info differently:
        int numAttach;
        numAttach = imap.GetMailNumAttach(*email);
        for (j = 0; j <= numAttach - 1; j++) {
            printf("%s\n",imap.getMailAttachFilename(*email,j));
            int attachSize;
            attachSize = imap.GetMailAttachSize(*email,j);
            printf("    size = %d bytes\n",attachSize);
        }

        printf("--\n");
        delete email;
    }

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

    delete messageSet;
    delete bundle;
    }

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

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

Mail Component · .NET Mail Component · XML Parser