Sample code for 30+ languages & platforms
VBScript

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 VBScript Downloads

VBScript
Dim fso, outFile
Set fso = CreateObject("Scripting.FileSystemObject")
'Create a Unicode (utf-16) output text file.
Set outFile = fso.CreateTextFile("output.txt", True, True)

'  Demonstrates the read-only Email.NumHeaderFields property and enumerating each
'  header field by zero-based index using GetHeaderFieldName and GetHeaderFieldValue.

set email = CreateObject("Chilkat.Email")
email.Subject = "Header field enumeration"
email.From = "mary@example.com"
success = email.AddTo("Joe","joe@example.com")

n = email.NumHeaderFields
outFile.WriteLine("NumHeaderFields = " & n)

For i = 0 To n - 1
    outFile.WriteLine(email.GetHeaderFieldName(i) & ": " & email.GetHeaderFieldValue(i))
Next

outFile.Close