Java Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Java Examples

Quick Start
Unicode
Bz2
Certificates
CSV
Email
Encryption
FTP
HTML-to-XML
HTTP
IMAP
MHT
MIME
POP3
RSA
S/MIME
SFTP
Signatures
SMTP
Socket / SSL
Spider
SSH
SSH Key
SSH Tunnel
Tar
Upload
XML
XMP
Zip

More Examples...
Email Object
DKIM / DomainKey
NTLM
FileAccess
RSS
Atom
String
Byte Array
Self-Extractor
Service
PPMD
Deflate
DH Key Exchange
DSA
Bzip2
LZW

 

 

 

 

 

 

 

Process Large POP3 Mailbox

Demonstrates how to read email from a mailbox that may contain a large number of emails (on the order of thousands of emails or more).

Download Chilkat Java Library

import com.chilkatsoft.*;

public class ChilkatExample {

  static {
    try {
        System.loadLibrary("chilkat");
    } catch (UnsatisfiedLinkError e) {
      System.err.println("Native code library failed to load.\n" + e);
      System.exit(1);
    }
  }

  public static void main(String argv[])
  {
    //  The mailman object is used for receiving (POP3)
    //  and sending (SMTP) email.
    CkMailMan mailman = new CkMailMan();

    //  Any string argument automatically begins the 30-day trial.
    boolean success;
    success = mailman.UnlockComponent("30-day trial");
    if (success != true) {
        System.out.println("Component unlock failed");
        return;
    }

    //  Set the POP3 server's hostname
    mailman.put_MailHost("mail.chilkatsoft.com");

    //  Set the POP3 login/password.
    mailman.put_PopUsername("myLogin");
    mailman.put_PopPassword("myPassword");

    //  First, get the list of UIDLs for all emails in the mailbox.
    CkStringArray sa;
    sa = mailman.GetUidls();
    int i;
    int numEmails;
    numEmails = (int) sa.get_Count();

    //  Download the emails in chunks of 10 emails each.
    int chunkBeginIdx;
    chunkBeginIdx = (int) 0;
    int chunkEndIdx;
    chunkEndIdx = (int) 9;
    if (chunkEndIdx >= numEmails) {
        chunkEndIdx = (int) numEmails - 1;
    }

    CkStringArray saChunk = new CkStringArray();
    while ((chunkEndIdx < (numEmails - 1))) {

        //  Build a chunk of 10 UIDLs.
        saChunk.Clear();
        for (i = chunkBeginIdx; i <= chunkEndIdx; i++) {
            saChunk.Append(sa.GetString(i));
        }

        //  Display the UIDLs in this chunk...
        String chunkStr;
        chunkStr = saChunk.saveToText();
        System.out.println(chunkStr);
        System.out.println("----" + "\n");

        //  Download this chunk of email from the POP3 server.
        CkEmailBundle bundle;
        bundle = mailman.FetchMultiple(saChunk);
        if (bundle == null ) {
            System.out.println(mailman.lastErrorText());
            return;
        }

        //  Process the bundle...
        //  (your application's processing code goes here...)

        //  Get the next chunk...
        chunkBeginIdx += (int) 10;
        if (chunkBeginIdx >= numEmails) {
            break;
        }

        chunkEndIdx += (int) 10;
        if (chunkEndIdx >= numEmails) {
            chunkEndIdx = (int) numEmails - 1;
        }

    }


  }
}

 

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

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