DataFlex
DataFlex
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 DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Handle hoEmail
Boolean iSuccess
Integer n
Integer i
String sTemp1
String sTemp2
// Demonstrates the read-only Email.NumHeaderFields property and enumerating each
// header field by zero-based index using GetHeaderFieldName and GetHeaderFieldValue.
Get Create (RefClass(cComChilkatEmail)) To hoEmail
If (Not(IsComObjectCreated(hoEmail))) Begin
Send CreateComObject of hoEmail
End
Set ComSubject Of hoEmail To "Header field enumeration"
Set ComFrom Of hoEmail To "mary@example.com"
Get ComAddTo Of hoEmail "Joe" "joe@example.com" To iSuccess
Get ComNumHeaderFields Of hoEmail To n
Showln "NumHeaderFields = " n
For i From 0 To (n - 1)
Get ComGetHeaderFieldName Of hoEmail i To sTemp1
Get ComGetHeaderFieldValue Of hoEmail i To sTemp2
Showln sTemp1 ": " sTemp2
Loop
End_Procedure