Sample code for 30+ languages & platforms
Zig

Change the Filename of an Attachment

See more Email Object Examples

Demonstrates the Chilkat Email.SetAttachmentFilename method, which changes the filename of the attachment at a given zero-based index. This example adds an attachment and renames it, printing the filename before and after.

Background: The attachment filename is what a recipient sees and what most clients suggest when saving the file. Renaming it is handy when the original name is unclear, unsafe, or generic — for example giving a machine-generated tmp12345 a meaningful name like invoice.pdf before sending.

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 SetAttachmentFilename method, which changes the filename of the
    // attachment at the given zero-based index.

    const email = try chilkat.Email.init();
    defer email.deinit();
    email.setSubject("Set attachment filename");

    email.addStringAttachment("oldname.txt", "Some notes.") catch {};
    std.debug.print("Filename before: {s}\n", .{try email.getAttachmentFilename(alloc, 0)});

    // Change the filename of the first attachment (index 0).
    email.setAttachmentFilename(0, "newname.txt") catch {
        std.debug.print("{s}\n", .{try email.getLastErrorText(alloc)});
        return;
    };

    std.debug.print("Filename after: {s}\n", .{try email.getAttachmentFilename(alloc, 0)});
}