Sample code for 30+ languages & platforms
Zig

Get the POP3 UIDL of an Email

See more Email Object Examples

Demonstrates the read-only Chilkat Email.Uidl property, which contains the unique message identifier assigned by a POP3 server; the value is also represented by the X-UIDL header field. This example sets X-UIDL directly to illustrate how it maps to the Uidl property (normally the value comes from the POP3 server during download).

Background: A UIDL ("unique ID listing") is POP3's stable identifier for a message in a mailbox — it stays the same across sessions, so a client can remember which messages it has already downloaded and avoid fetching them again. Note this is POP3-specific: IMAP uses its own UID instead, which Chilkat stores in the ckx-imap-uid header rather than in Uidl.

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 read-only Email.Uidl property, which contains the unique message
    // identifier assigned by a POP3 server.  The value is represented by the X-UIDL header
    // field.  Here we set X-UIDL directly to show how it maps to the Uidl property.

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

    // Normally the POP3 server assigns this; we set it here for demonstration.
    email.addHeaderField("X-UIDL", "0000000123abcdef");

    std.debug.print("Uidl = {s}\n", .{try email.getUidl(alloc)});
}