Sample code for 30+ languages & platforms
Java

Auto-Generate or Explicitly Specify the Message-ID Email Header

Demonstrates how to auto-generate or explicitly specify the Message-ID header field.

Chilkat Java Downloads

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

public class ChilkatExample {

    public static void main(String[] args) {
        Email email = new Email();

        email.setSubject("test");
        email.setBody("test");
        email.addTo("Joe", "joe@example1.com");
        email.setFrom("mary@example2.com");

        MailMan mailman = new MailMan();

        // When the mailman sends email, it renders the email to be sent,
        // and then sends the rendered MIME.

        // Instead of actually sending the email, this example will render
        // to MIME so we can see what would be sent..

        // We can explicitly set the Message-ID like this:
        mailman.setAutoGenMessageId(false);
        email.addHeaderField("Message-ID", "<xyz123@abc>");

        String mimeStr = mailman.renderToMime(email);
        System.out.println(mimeStr);

        // This is what we get:

        // MIME-Version: 1.0
        // Date: Mon, 20 Jul 2020 17:20:09 -0500
        // Message-ID: <xyz123@abc>
        // Content-Type: text/plain; charset=us-ascii; format=flowed
        // Content-Transfer-Encoding: 7bit
        // X-Priority: 3 (Normal)
        // Subject: test
        // To: Joe <joe@example1.com>
        // From: mary@example2.com
        //
        // test

        System.out.println("--------");

        // If we auto-generate...
        mailman.setAutoGenMessageId(true);
        mimeStr = mailman.renderToMime(email);
        System.out.println(mimeStr);

        // We get this:

        // MIME-Version: 1.0
        // Date: Mon, 20 Jul 2020 17:21:20 -0500
        // Message-ID: <04EDE096BBFE484967F6398A973B0FCF6EA09A44@CHILKATSLICE>
        // Content-Type: text/plain; charset=us-ascii; format=flowed
        // Content-Transfer-Encoding: 7bit
        // X-Priority: 3 (Normal)
        // Subject: test
        // To: Joe <joe@example1.com>
        // From: mary@example2.com
        //
        // test
    }
}