Sample code for 30+ languages & platforms
Unicode C

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 Unicode C Downloads

Unicode C
#include <C_CkEmailW.h>

void ChilkatSample(void)
    {
    HCkEmailW email;
    BOOL hasBefore;
    BOOL hasAfter;

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

    email = CkEmailW_Create();
    CkEmailW_putSubject(email,L"Remove header field");
    CkEmailW_putFrom(email,L"alice@example.com");

    CkEmailW_AddHeaderField(email,L"X-Custom-Header",L"some value");

    //  Use HasHeaderMatching to test for the header's presence.  ("*" matches any value.)
    hasBefore = CkEmailW_HasHeaderMatching(email,L"X-Custom-Header",L"*",FALSE);
    wprintf(L"Has X-Custom-Header before: %d\n",hasBefore);

    //  Remove all occurrences of the header field.
    CkEmailW_RemoveHeaderField(email,L"X-Custom-Header");

    hasAfter = CkEmailW_HasHeaderMatching(email,L"X-Custom-Header",L"*",FALSE);
    wprintf(L"Has X-Custom-Header after: %d\n",hasAfter);


    CkEmailW_Dispose(email);

    }