Zig
Zig
Save a Related Item to Disk
See more Email Object Examples
Demonstrates the Chilkat Email.SaveRelatedItem method, which saves the related item at a given zero-based index to a directory. If the directory or any of its components do not exist, Chilkat creates them. This example adds a related style sheet and saves it.
Background: Related items are the inline resources (images, style sheets) an HTML email carries in its
multipart/related enclosure. SaveRelatedItem writes one of them out as a file — a building block for tasks like extracting a specific embedded image, or manually unpacking a message when you want finer control than the all-in-one UnpackHtml / AspUnpack methods provide.Chilkat Zig Downloads
const std = @import("std");
const chilkat = @import("chilkat");
pub fn main(init: std.process.Init) !void {
const alloc = init.arena.allocator();
// Demonstrates the SaveRelatedItem method, which saves the related item at a given
// zero-based index to a directory. If the directory (or any of its components) does not
// exist, Chilkat creates it.
const email = try chilkat.Email.init();
defer email.deinit();
email.setSubject("Save a related item");
// Set an HTML body that references a related style sheet by name.
email.setHtmlBody("<html><head><link rel=\"stylesheet\" href=\"styles.css\"/></head><body>Styled.</body></html>");
email.addRelatedString2("styles.css", "body { color: navy; }", "utf-8");
// Save the related item at index 0 into the specified directory.
email.saveRelatedItem(0, "qa_output/related") catch {
std.debug.print("{s}\n", .{try email.getLastErrorText(alloc)});
return;
};
std.debug.print("Saved related item 0.\n", .{});
// Note: The path "qa_output/..." is a relative local filesystem path,
// relative to the current working directory of the running application.
}