PowerBuilder
PowerBuilder
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 PowerBuilder Downloads
integer li_rc
oleobject loo_Email
integer n
integer i
// Demonstrates the read-only Email.NumHeaderFields property and enumerating each
// header field by zero-based index using GetHeaderFieldName and GetHeaderFieldValue.
loo_Email = create oleobject
li_rc = loo_Email.ConnectToNewObject("Chilkat.Email")
if li_rc < 0 then
destroy loo_Email
MessageBox("Error","Connecting to COM object failed")
return
end if
loo_Email.Subject = "Header field enumeration"
loo_Email.From = "mary@example.com"
loo_Email.AddTo("Joe","joe@example.com")
n = loo_Email.NumHeaderFields
Write-Debug "NumHeaderFields = " + string(n)
for i = 0 to n - 1
Write-Debug loo_Email.GetHeaderFieldName(i) + ": " + loo_Email.GetHeaderFieldValue(i)
next
destroy loo_Email