PureBasic
PureBasic
Auto-Generate or Explicitly Specify the Message-ID Email Header
Demonstrates how to auto-generate or explicitly specify the Message-ID header field.Chilkat PureBasic Downloads
IncludeFile "CkEmail.pb"
IncludeFile "CkMailMan.pb"
Procedure ChilkatExample()
success.i = 0
email.i = CkEmail::ckCreate()
If email.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkEmail::setCkSubject(email, "test")
CkEmail::setCkBody(email, "test")
CkEmail::ckAddTo(email,"Joe","joe@example1.com")
CkEmail::setCkFrom(email, "mary@example2.com")
mailman.i = CkMailMan::ckCreate()
If mailman.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; 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:
CkMailMan::setCkAutoGenMessageId(mailman, 0)
CkEmail::ckAddHeaderField(email,"Message-ID","<xyz123@abc>")
mimeStr.s = CkMailMan::ckRenderToMime(mailman,email)
Debug 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
Debug "--------"
; If we auto-generate...
CkMailMan::setCkAutoGenMessageId(mailman, 1)
mimeStr = CkMailMan::ckRenderToMime(mailman,email)
Debug 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
CkEmail::ckDispose(email)
CkMailMan::ckDispose(mailman)
ProcedureReturn
EndProcedure