Sample code for 30+ languages & platforms
Zig

Get a Header Attribute of an Attachment

See more Email Object Examples

Demonstrates the Chilkat Email.GetAttachmentAttr method, which returns a header-field attribute value from a header field of the Nth attachment. The first argument is the zero-based attachment index, the second names a header field, and the third names an attribute within it. This example reads the filename attribute of the attachment's Content-Disposition header.

Background: A MIME header can have named parameters after its main value, such as Content-Type: text/plain; charset="utf-8"; name="notes.txt". Here charset and name are attributes. GetAttachmentAttr pulls out one named attribute from a chosen header of a specific attachment, sparing you from parsing the raw header string and dealing with quoting or ordering.

Chilkat Zig Downloads

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

pub fn main(init: std.process.Init) !void {
    const alloc = init.arena.allocator();

    // Demonstrates the GetAttachmentAttr method, which returns a header-field attribute value
    // from a header field of the Nth attachment.  The first argument is the zero-based attachment
    // index, the second is the header field name, and the third is the attribute name.

    const email = try chilkat.Email.init();
    defer email.deinit();
    email.setSubject("Attachment header attribute");

    email.addStringAttachment("notes.txt", "Some notes.") catch {};

    // Get the "filename" attribute of the attachment's Content-Disposition header (index 0).
    const fname = try email.getAttachmentAttr(alloc, 0, "Content-Disposition", "filename");
    std.debug.print("Attachment filename attribute: {s}\n", .{fname});
}