Sample code for 30+ languages & platforms
Zig

Set the Email Date Header to the Current System Date/Time

Demonstrates how to set the Date header field of an email to the computer's current date/time. Note: When an email object is instantiated, the Date header field is automatically added and initialized to the current system date/time. The need to explicitly set the Date header could arise when loading an email from a .eml.

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();

    const email = try chilkat.Email.init();
    defer email.deinit();

    // At this point, a new email object has been instantiated, and it
    // already has a Date header field containing the current date/time.
    std.debug.print("Date: {s}\n", .{try email.getEmailDateStr(alloc)});

    // We can also get the Date header like this:
    std.debug.print("Date: {s}\n", .{try email.getHeaderField(alloc, "Date")});

    // Load a .eml into the email object:
    email.loadEml("myEmlFiles/someEmail.eml") catch {
        std.debug.print("{s}\n", .{try email.getLastErrorText(alloc)});
        return;
    };

    // Show the Date that was in the .eml
    std.debug.print("Date: {s}\n", .{try email.getEmailDateStr(alloc)});

    // Now the Date header contains whatever was in the .eml
    // Let's update it to the current system date/time..

    const date_time = try chilkat.DateTime.init();
    defer date_time.deinit();

    date_time.setFromCurrentSystemTime() catch {};

    email.setDt(date_time) catch {
        std.debug.print("{s}\n", .{try email.getLastErrorText(alloc)});
        return;
    };

    // Now show that the Date is the current system time:
    std.debug.print("Date: {s}\n", .{try email.getEmailDateStr(alloc)});
    std.debug.print("Date: {s}\n", .{try email.getHeaderField(alloc, "Date")});
}