Sample code for 30+ languages & platforms
Java

Enumerate the Header Fields of an Email

See more Email Object Examples

Demonstrates the read-only Chilkat Email.NumHeaderFields property together with GetHeaderFieldName and GetHeaderFieldValue to enumerate every header field. Indexing is zero-based, so fields run from 0 to NumHeaderFields - 1. Repeated header fields (a field name that appears more than once) are counted separately. This example builds a small email and prints each header field.

Background: A header field is a single Name: value line at the top of a MIME message. The same field name can legitimately appear multiple times — for example, a message can carry several Received lines, one added by each mail server it passed through. That is why enumerating by index (rather than looking up by name) matters: it lets you see every occurrence in the order it appears.

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.Email;

public class ChilkatExample {

    public static void main(String[] args) {
        // Demonstrates the read-only Email.NumHeaderFields property and enumerating each
        // header field by zero-based index using GetHeaderFieldName and GetHeaderFieldValue.

        Email email = new Email();
        email.setSubject("Header field enumeration");
        email.setFrom("mary@example.com");
        email.addTo("Joe", "joe@example.com");

        int n = email.getNumHeaderFields();
        System.out.println("NumHeaderFields = " + n);

        for (int i = 0; i < n; i++) {
            System.out.println(email.getHeaderFieldName(i) + ": " + email.getHeaderFieldValue(i));
        }
    }
}