Sample code for 30+ languages & platforms
Zig

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

Zig
const std = @import("std");
const chilkat = @import("chilkat");

pub fn main() !void {
    // Demonstrates the RemoveHeaderField method, which removes by name all occurrences of a
    // header field.  Header-field names are case-insensitive.

    const email = try chilkat.Email.init();
    defer email.deinit();
    email.setSubject("Remove header field");
    email.setFrom("alice@example.com");

    email.addHeaderField("X-Custom-Header", "some value");

    // Use HasHeaderMatching to test for the header's presence.  ("*" matches any value.)
    const has_before = email.hasHeaderMatching("X-Custom-Header", "*", false);
    std.debug.print("Has X-Custom-Header before: {}\n", .{has_before});

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

    const has_after = email.hasHeaderMatching("X-Custom-Header", "*", false);
    std.debug.print("Has X-Custom-Header after: {}\n", .{has_after});
}