Sample code for 30+ languages & platforms
Zig

Add Header Field to MIME Sub-Header in Email

See more Email Object Examples

Demonstrates how to add a header field to one of the attachment sub-headers in an email.

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();

    // This example requires the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    const email = try chilkat.Email.init();
    defer email.deinit();

    email.setSubject("test");
    email.addTo("Chilkat", "support@chilkatsoft.com") catch {};
    email.setFrom("Matt <matt@example.com>");
    email.setBody("This is a simple plain-text body.");

    email.addFileAttachment2("qa_data/1.HPM", "application/x-hprimnet") catch {
        std.debug.print("{s}\n", .{try email.getLastErrorText(alloc)});
        return;
    };

    // Add a "ContentDescription: HPM/3.0" in the attachment's sub-header.
    // The 1st attachment is at index 0.
    email.addAttachmentHeader(0, "Content-Description", "HPM/3.0");

    // Show the email MIME:
    std.debug.print("{s}\n", .{try email.getMime(alloc)});

    // This is the output:

    // MIME-Version: 1.0
    // Date: Wed, 16 Jan 2019 10:05:18 -0600
    // Message-ID: <93B88835586270B7BE5202F84E171F29C10BA935@CHILKATSLICE>
    // Content-Type: multipart/mixed; boundary="------------000502000000020502010608"
    // X-Priority: 3 (Normal)
    // Subject: test
    // To: Chilkat <support@chilkatsoft.com>
    // From: Matt <matt@example.com>
    //
    // --------------000502000000020502010608
    // Content-Type: text/plain; charset=us-ascii; format=flowed
    // Content-Transfer-Encoding: 7bit
    //
    // This is a simple plain-text body.
    // --------------000502000000020502010608
    // Content-Type: application/x-hprimnet; name="1.HPM"
    // Content-Transfer-Encoding: base64
    // Content-Disposition: attachment; filename="1.HPM"
    // Content-Description: HPM/3.0
    //
    // FILE_DATA_IS_HERE...
    //
    // --------------000502000000020502010608--
}