Zig
Zig
Zip an Email's Attachments into One File
See more Email Object Examples
Demonstrates the Chilkat Email.ZipAttachments method, which replaces all of an email's attachments with a single Zip file attachment having the specified filename. The original attachments are removed and packed into the Zip. This example adds two attachments and zips them into one.
Background: Bundling multiple attachments into a single
.zip keeps a message tidy, compresses the payload, and works around recipients or gateways that limit the number of attachments. Note that the filename here (files.zip) names the attachment inside the message — it is not a path on disk. The reverse operation is UnzipAttachments.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 ZipAttachments method, which replaces all of an email's attachments
// with a single Zip file attachment having the specified filename. The original
// attachments are removed and packed into the Zip.
const email = try chilkat.Email.init();
defer email.deinit();
email.setSubject("Zip the attachments");
email.addStringAttachment("a.txt", "first attachment") catch {};
email.addStringAttachment("b.txt", "second attachment") catch {};
std.debug.print("NumAttachments before = {d}\n", .{email.getNumAttachments()});
// Replace all attachments with a single Zip attachment named "files.zip".
email.zipAttachments("files.zip") catch {
std.debug.print("{s}\n", .{try email.getLastErrorText(alloc)});
return;
};
std.debug.print("NumAttachments after = {d}\n", .{email.getNumAttachments()});
}