Zig
Zig
Get an Attachment as a Text String
See more Email Object Examples
Demonstrates the Chilkat Email.GetAttachmentString method, which returns the Nth attachment's data as text. The first argument is the zero-based attachment index and the second is the charset used to interpret the attachment bytes. This example reads a text attachment as utf-8.
Background: Attachments are stored as bytes, so turning one back into a string requires knowing its charset — the rule for mapping bytes to characters. Supplying the correct charset (often
utf-8) yields readable text; the wrong one produces garbled characters. This method is meant for text attachments such as .txt, .csv, or .xml; binary attachments should be handled as raw data instead.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 GetAttachmentString method, which returns the Nth attachment's data as
// text. The first argument is the zero-based attachment index and the second is the charset used to interpret
// the attachment bytes.
const email = try chilkat.Email.init();
defer email.deinit();
email.setSubject("Attachment as text");
email.addStringAttachment("notes.txt", "These are the notes stored in the attachment.") catch {};
// Get the first attachment (index 0) as text, interpreting the bytes as utf-8.
const content = try email.getAttachmentString(alloc, 0, "utf-8");
std.debug.print("Attachment 0 text: {s}\n", .{content});
}