Sample code for 30+ languages & platforms
Java

Fetch an IMAP Message's MIME into a BinData

See more IMAP Examples

Demonstrates the Chilkat Imap.FetchSingleBd method, which downloads one message's MIME bytes into a BinData object. If the second argument (bUid) is true, the first argument is a UID; otherwise it is a sequence number. This example downloads message 1's MIME into a BinData and prints the byte count.

Background: This is the binary counterpart to FetchSingleAsMime (which returns a string). A BinData holds raw bytes, so it preserves the message exactly — the right choice when you plan to write the MIME straight to a file, hash it, or hand it to an API expecting a byte buffer, with no charset conversion that could alter binary content.

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.BinData;
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.Imap;

public class ChilkatExample {

    public static void main(String[] args) {
        // Demonstrates the Imap.FetchSingleBd method, which downloads one message's MIME bytes into a
        // BinData object.  If the 2nd argument (bUid) is true, the 1st argument is a UID; otherwise
        // it is a sequence number.

        Imap imap = new Imap();

        imap.setSsl(true);
        imap.setPort(993);

        try {
            imap.connect("imap.example.com");

            imap.login("user@example.com", "myPassword");

            imap.selectMailbox("Inbox");
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        // Download message sequence number 1's MIME bytes into a BinData.  bUid = false.
        BinData bdMime = new BinData();
        try {
            imap.fetchSingleBd(1, false, bdMime);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        System.out.println("MIME size (bytes) = " + bdMime.getNumBytes());

        try {
            imap.disconnect();
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }
    }
}