Sample code for 30+ languages & platforms
PureBasic

Remove a Header Field from an Email

See more Email Object Examples

Demonstrates the Chilkat Email.RemoveHeaderField method, which removes by name all occurrences of a header field. Header-field names are case-insensitive, and every repeated occurrence with the given name is removed. This example adds a custom header, then removes it.

Background: Editing a message sometimes means deleting a header outright — stripping a tracking header, removing an X- flag before forwarding, or clearing a stale field before re-sending. Because a field name can appear more than once (like Received), RemoveHeaderField removes all matching occurrences in one call rather than just the first.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkEmail.pb"

Procedure ChilkatExample()

    ;  Demonstrates the RemoveHeaderField method, which removes by name all occurrences of a
    ;  header field.  Header-field names are case-insensitive.

    email.i = CkEmail::ckCreate()
    If email.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkEmail::setCkSubject(email, "Remove header field")
    CkEmail::setCkFrom(email, "alice@example.com")

    CkEmail::ckAddHeaderField(email,"X-Custom-Header","some value")

    ;  Use HasHeaderMatching to test for the header's presence.  ("*" matches any value.)
    hasBefore.i = CkEmail::ckHasHeaderMatching(email,"X-Custom-Header","*",0)
    Debug "Has X-Custom-Header before: " + Str(hasBefore)

    ;  Remove all occurrences of the header field.
    CkEmail::ckRemoveHeaderField(email,"X-Custom-Header")

    hasAfter.i = CkEmail::ckHasHeaderMatching(email,"X-Custom-Header","*",0)
    Debug "Has X-Custom-Header after: " + Str(hasAfter)


    CkEmail::ckDispose(email)


    ProcedureReturn
EndProcedure