Zig
Zig
Create MIME Containing Plain-Text
See more MIME Examples
Calls SetBodyFromPlainText to load plain-text into the MIME body. Also sets the Content-Type header to "text/plain", and the Content-Transfer-Encoding to an appropriate transfer encoding based on the characters found in the text.Chilkat Zig Downloads
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 mime = try chilkat.Mime.init();
defer mime.deinit();
// Add a few header fields:
try mime.addHeaderField("Description", "this is a test");
try mime.addHeaderField("MyId", "123");
const text_body = "This is the plain-text body";
try mime.setBodyFromPlainText(text_body);
std.debug.print("{s}\n", .{try mime.getMime(alloc)});
// The MIME should look like this:
// Description: this is a test
// MyId: 123
// Content-Type: text/plain;
// Content-Transfer-Encoding: 7bit
//
// This is the plain-text body
// Note: The Content-Transfer-Encoding may be changed.
// For example, to use "base64", do this:
mime.setEncoding("base64");
// Show the MIME again, this time using the base64
// transfer encoding:
std.debug.print("{s}\n", .{try mime.getMime(alloc)});
// It should look like this:
// Description: this is a test
// MyId: 123
// Content-Type: text/plain
// Content-Transfer-Encoding: base64
//
// VGhpcyBpcyB0aGUgcGxhaW4tdGV4dCBib2R5
//
}