Visual C++ Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript



Visual C++ Examples

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


More Examples...
Email Object
POP3
SMTP
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
DH Key Exchange
DSA
SSH Key
SSH
SSH Tunnel
SFTP

Unreleased...
FileAccess
Bzip2
LZW
Icon

 

 

 

 

 

 

 

 

IMAP attachment filename and size information.

C++ code to report attachment filenames and sizes for email in an IMAP mailbox.

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

// Read IMAP mail headers and print attachment filename and size information.
void ImapExample(void)
    {
    CkImap imap;
    
    // Any string passed to UnlockComponent automatically begins the 30-day trial.
    if (!imap.UnlockComponent("30-day trial"))
	{
	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 headers into a bundle object.
    CkEmailBundle *bundle = 0;
    bundle = imap.FetchHeaders(*msgSet);
    if (!bundle)
	{
	printf("Failed to fetch bundle\n");
	imap.SaveLastError("errorLog.xml");
	return;
	}
    delete msgSet;
    
    // Loop over the emails.
    int i;
    for (i=0; i<bundle->get_MessageCount(); i++)
	{
	CkEmail *email = bundle->GetEmail(i);
	if (!email) continue;
	
	// Do not use email->NumAttachments here, because we retrieved the headers
	// only. NumAttachments only applies if we retrieved the entire email.
	// Instead, use imap.GetMailNumAttach
	int numAttachments = imap.GetMailNumAttach(*email);
	int j;
	CkString strFilename;
	for (j=0; j<numAttachments; j++)
	    {
	    // Get the attachment filename and size.
	    imap.GetMailAttachFilename(*email,j,strFilename);
	    printf("filename: %s (%d bytes)\n",strFilename.getString(),
		imap.GetMailAttachSize(*email,j));
	    }
	
	delete email;
	}
    
    delete bundle;
    
    // Disconnect from the IMAP server.
    imap.Logout();
    imap.Disconnect();
    
    return;
    }

 

 

 

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