Sample code for 30+ languages & platforms
Chilkat2-Python

Add a MIME Header Field

See more MIME Examples

Demonstrates the Chilkat Mime.AddHeaderField method, which appends a new header field. The first argument is the field name and the second is the value. Existing fields with the same case-insensitive name are preserved, so this can create duplicates.

Background: MIME headers are ordered name/value lines, and some — Received, for instance — legitimately appear more than once. AddHeaderField is the tool for that: it always appends, never replacing an existing field of the same name. When you instead want exactly one field with a given name, use SetHeaderField, which replaces rather than accumulates.

Chilkat Python Downloads

Chilkat2-Python
import sys
import chilkat2

success = False

# Demonstrates the Mime.AddHeaderField method, which appends a new header field.  The 1st argument
# is the field name and the 2nd is the value.  Existing fields with the same (case-insensitive)
# name are preserved, so this can create duplicate fields.

mime = chilkat2.Mime()

success = mime.SetBodyFromPlainText("Hello.")
if (success == False):
    print(mime.LastErrorText)
    sys.exit()

# Append header fields.  AddHeaderField does not replace existing fields of the same name.
success = mime.AddHeaderField("X-Custom-Header","value1")
if (success == False):
    print(mime.LastErrorText)
    sys.exit()

success = mime.AddHeaderField("X-Priority","3")
if (success == False):
    print(mime.LastErrorText)
    sys.exit()

headers = mime.GetEntireHead()
if (mime.LastMethodSuccess == False):
    print(mime.LastErrorText)
    sys.exit()

print(headers)