Visual C++ Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript



Visual C++ Examples

CkString
Byte Array
Bounced Mail
Character Encoding
Digital Certificates
Digital Signatures
Email
Encryption
FTP
HTML-to-XML
HTTP
IMAP
MHT / HTML Email
RSA Encryption
S/MIME
Socket
Spider
Tar
Upload
XML
XMP
Zip Compression


More Examples...
Email Object
POP3
SMTP
RSS
Atom
Self-Extractor

Unreleased...
Service
PPMD
Deflate
Bzip2
LZW
Bz2
DH Key Exchange
DSA
Icon

 

 

 

 

 

 

 

 

Read IMAP Email

This is a sample C++ program that reads email from an IMAP server.

#define _CRTDBG_MAP_ALLOC
#include <windows.h>
#include <stdio.h>
#include <crtdbg.h>

#include "C:/ck2000/components/ChilkatLib/Package/Include/CkSettings.h"
#include "C:/ck2000/components/ChilkatLib/Package/Include/CkCert.h"
#include "C:/ck2000/components/ChilkatLib/Package/Include/CkEmail.h"
#include "C:/ck2000/components/ChilkatLib/Package/Include/CkEmailBundle.h"
#include "C:/ck2000/components/ChilkatLib/Package/Include/CkImap.h"
#include "C:/ck2000/components/ChilkatLib/Package/Include/CkMessageSet.h"
#include "C:/ck2000/components/ChilkatLib/Package/Include/CkString.h"
#include "C:/ck2000/components/ChilkatLib/Package/Include/CkByteData.h"

// The Chilkat IMAP library is also available as an ActiveX component
// or .NET class with the identical set of methods and properties.

// Read IMAP email and print the "From" and "Subject" of each email in the Inbox.
void ImapExample(void)
    {
    CkImap imap;
    
    if (!imap.UnlockComponent("UnlockCode"))
	{
	printf("Failed to unlock component\n");
	imap.SaveLastError("errorLog.xml");
	return;
	}

    // Connect to the IMAP server.
    if (!imap.Connect("localhost"))
	{
	printf("Failed to connect to IMAP server\n");
	imap.SaveLastError("errorLog.xml");
	return;
	}

    // Login to the IMAP server.
    if (!imap.Login("chilkat", "chilkat"))
	{
	printf("Failed to login to IMAP server\n");
	imap.SaveLastError("errorLog.xml");
	return;
	}

    imap.SelectMailbox("Inbox");

    // Get a message set containing all the message IDs
    // in the selected mailbox.
    CkMessageSet *msgSet = 0;
    msgSet = imap.Search("ALL",true);

    // Fetch all the mail into a bundle object.
    CkEmailBundle *bundle = 0;
    bundle = imap.FetchBundle(*msgSet);
    if (!bundle)
	{
	printf("Failed to fetch bundle\n");
	imap.SaveLastError("errorLog.xml");
	return;
	}
    delete msgSet;

    // Loop over the bundle and display the From and Subject.
    CkEmail *email = 0;
    int i;

    CkString strFrom;
    CkString strSubject;

    printf("Number of messages = %d\n",bundle->get_MessageCount());

    for (i=0; i<bundle->get_MessageCount(); i++)
	{
	email = bundle->GetEmail(i);
	if (!email) continue;

	email->get_From(strFrom);
	email->get_Subject(strSubject);

	printf("%s: %s\n",strFrom.getString(),strSubject.getString());

	delete email;
	}

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

    return;
    }




int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
    freopen("stdout.txt","w",stdout);

    ImapExample();

    CkSettings::cleanupMemory();

    _CrtDumpMemoryLeaks();

    return 0;
}


 

 

 

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

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

Mail Component · .NET Mail Component · XML Parser