Sample code for 30+ languages & platforms
PHP Extension

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 PHP Extension Downloads

PHP Extension
<?php

include("chilkat.php");

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

$email = new CkEmail();
$email->put_Subject('Header field enumeration');
$email->put_From('mary@example.com');
$email->AddTo('Joe','joe@example.com');

$n = $email->get_NumHeaderFields();
print 'NumHeaderFields = ' . $n . "\n";

for ($i = 0; $i <= $n - 1; $i++) {
    print $email->getHeaderFieldName($i) . ': ' . $email->getHeaderFieldValue($i) . "\n";
}


?>