Sample code for 30+ languages & platforms
Objective-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 Objective-C Downloads

Objective-C
#import <CkoEmail.h>

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

CkoEmail *email = [[CkoEmail alloc] init];
email.Subject = @"Remove header field";
email.From = @"alice@example.com";

[email AddHeaderField: @"X-Custom-Header" fieldValue: @"some value"];

//  Use HasHeaderMatching to test for the header's presence.  ("*" matches any value.)
BOOL hasBefore = [email HasHeaderMatching: @"X-Custom-Header" valuePattern: @"*" caseInsensitive: NO];
NSLog(@"%@%d",@"Has X-Custom-Header before: ",hasBefore);

//  Remove all occurrences of the header field.
[email RemoveHeaderField: @"X-Custom-Header"];

BOOL hasAfter = [email HasHeaderMatching: @"X-Custom-Header" valuePattern: @"*" caseInsensitive: NO];
NSLog(@"%@%d",@"Has X-Custom-Header after: ",hasAfter);