Sample code for 30+ languages & platforms
Java

Download the Full Version of a Partial Email

See more POP3 Examples

Demonstrates the Chilkat MailMan.FetchFull method, which downloads the complete version of a header-only or partial Email and stores it in a second Email. The full result includes the complete body and any attachments, and the partial email must retain its UIDL. This example previews message 1 (headers only) and then downloads it in full.

Background: A common pattern is to download headers first — cheap and fast — show the user a message list, and only pull the full content when a message is actually opened. FetchFull completes that "download on demand" flow: given a partial email (which carries its UIDL), it fetches the rest from the server. This keeps bandwidth and latency low when browsing a large mailbox.

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.Email;
import com.chilkatsoft.chilkat2.MailMan;

public class ChilkatExample {

    public static void main(String[] args) {
        // Demonstrates the MailMan.FetchFull method, which downloads the complete version of a
        // header-only or partial Email and stores it in a second Email.  The full result includes
        // the complete body and any attachments.  The partial email must retain its UIDL.

        MailMan mailman = new MailMan();

        // Configure the POP3 server connection.
        mailman.setMailHost("pop.example.com");
        mailman.setMailPort(995);
        mailman.setPopSsl(true);
        mailman.setPopUsername("user@example.com");
        mailman.setPopPassword("myPassword");

        // First fetch message 1 as headers only (a fast preview).  headerOnly=true.
        Email partialEmail = new Email();

        try {
            mailman.fetchOne(true, 0, 1, partialEmail);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        System.out.println("Preview subject: " + partialEmail.getSubject());

        // Now download the complete message (body and attachments).
        Email fullEmail = new Email();
        try {
            mailman.fetchFull(partialEmail, fullEmail);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        System.out.println("Full email NumAttachments: " + fullEmail.getNumAttachments());

        // Note: Explicitly connecting/authenticating is optional.  Chilkat MailMan automatically
        // connects and authenticates -- using the property settings above -- whenever a server
        // operation requires it.  Calling the explicit connect/authenticate methods can still be
        // helpful to determine whether a failure occurs while connecting or while authenticating.
    }
}