Tcl
Tcl
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 Tcl Downloads
load ./chilkat.dll
# Demonstrates the read-only Email.NumHeaderFields property and enumerating each
# header field by zero-based index using GetHeaderFieldName and GetHeaderFieldValue.
set email [new_CkEmail]
CkEmail_put_Subject $email "Header field enumeration"
CkEmail_put_From $email "mary@example.com"
CkEmail_AddTo $email "Joe" "joe@example.com"
set n [CkEmail_get_NumHeaderFields $email]
puts "NumHeaderFields = $n"
for {set i 0} {$i <= [expr $n - 1]} {incr i} {
puts [CkEmail_getHeaderFieldName $email $i]: [CkEmail_getHeaderFieldValue $email $i]
}
delete_CkEmail $email