Sample code for 30+ languages & platforms
Zig

Set the Email Body from a BinData

See more Email Object Examples

Demonstrates the Chilkat Email.SetBodyBd method, which sets the main email body from the binary data in a BinData object. The second argument is the MIME Content-Type, the third is the disposition (may be empty, inline, or attachment), and the fourth is the filename. This example loads HTML content into a BinData and sets it as the body.

Background: SetBodyBd gives low-level control over the body when you already have its bytes and want to specify the exact Content-Type and MIME disposition yourself. It suits content that is generated or stored as binary — for example an EDI payload, a pre-rendered HTML fragment, or any custom content type — where the convenience of SetHtmlBody / SetTextBody does not apply.

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 SetBodyBd method, which sets the main email body from the binary data in
    // a BinData object.  The second argument is the MIME Content-Type, the third is the
    // disposition (may be empty, "inline", or "attachment"), and the fourth is the filename.

    const email = try chilkat.Email.init();
    defer email.deinit();
    email.setSubject("Body from BinData");

    // Load the body content from a file into a BinData object.
    const bd = try chilkat.BinData.init();
    defer bd.deinit();
    bd.loadFile("qa_data/html/body.html") catch {
        std.debug.print("{s}\n", .{try bd.getLastErrorText(alloc)});
        return;
    };

    // Set the main body from the binary data as text/html.
    email.setBodyBd(bd, "text/html", "", "") catch {
        std.debug.print("{s}\n", .{try email.getLastErrorText(alloc)});
        return;
    };

    std.debug.print("HasHtmlBody: {}\n", .{email.hasHtmlBody()});

    // Note: The path "qa_data/html/body.html" is a relative local filesystem path,
    // relative to the current working directory of the running application.
}