PureBasic
PureBasic
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 PureBasic Downloads
IncludeFile "CkEmail.pb"
Procedure ChilkatExample()
; Demonstrates the read-only Email.NumHeaderFields property and enumerating each
; header field by zero-based index using GetHeaderFieldName and GetHeaderFieldValue.
email.i = CkEmail::ckCreate()
If email.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkEmail::setCkSubject(email, "Header field enumeration")
CkEmail::setCkFrom(email, "mary@example.com")
CkEmail::ckAddTo(email,"Joe","joe@example.com")
n.i = CkEmail::ckNumHeaderFields(email)
Debug "NumHeaderFields = " + Str(n)
i.i
For i = 0 To n - 1
Debug CkEmail::ckGetHeaderFieldName(email,i) + ": " + CkEmail::ckGetHeaderFieldValue(email,i)
Next
CkEmail::ckDispose(email)
ProcedureReturn
EndProcedure