Sample code for 30+ languages & platforms
DataFlex

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

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

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Variant vEmail
    Handle hoEmail
    Handle hoMailman
    String sMimeStr

    Move False To iSuccess

    Get Create (RefClass(cComChilkatEmail)) To hoEmail
    If (Not(IsComObjectCreated(hoEmail))) Begin
        Send CreateComObject of hoEmail
    End

    Set ComSubject Of hoEmail To "test"
    Set ComBody Of hoEmail To "test"
    Get ComAddTo Of hoEmail "Joe" "joe@example1.com" To iSuccess
    Set ComFrom Of hoEmail To "mary@example2.com"

    Get Create (RefClass(cComChilkatMailMan)) To hoMailman
    If (Not(IsComObjectCreated(hoMailman))) Begin
        Send CreateComObject of hoMailman
    End

    // 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:
    Set ComAutoGenMessageId Of hoMailman To False
    Send ComAddHeaderField To hoEmail "Message-ID" "<xyz123@abc>"

    Get pvComObject of hoEmail to vEmail
    Get ComRenderToMime Of hoMailman vEmail To sMimeStr
    Showln sMimeStr

    // 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

    Showln "--------"

    // If we auto-generate...
    Set ComAutoGenMessageId Of hoMailman To True
    Get pvComObject of hoEmail to vEmail
    Get ComRenderToMime Of hoMailman vEmail To sMimeStr
    Showln sMimeStr

    // 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


End_Procedure