Sample code for 30+ languages & platforms
Zig

Explicitly Begin a POP3 Session

See more POP3 Examples

Demonstrates the Chilkat MailMan.Pop3BeginSession method, which explicitly begins a POP3 session by connecting to the POP3 server and authenticating using the current POP3 property settings. Calling it is optional. This example begins a session, performs a mailbox operation, and ends the session.

Background: Pop3BeginSession combines connecting and authenticating into one call. Chilkat does this automatically when a mailbox operation needs it, so the value of calling it explicitly is control: you open one session, perform several operations against it, and close it with Pop3EndSession — avoiding repeated connect/authenticate round trips and keeping deletion marks within a single, well-defined session.

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 MailMan.Pop3BeginSession method, which explicitly begins a POP3 session
    // by connecting to the POP3 server and authenticating using the current POP3 property
    // settings.

    const mailman = try chilkat.MailMan.init();
    defer mailman.deinit();

    // Configure the POP3 server connection.
    mailman.setMailHost("pop.example.com");
    mailman.setMailPort(995);
    mailman.setPopSsl(true);
    mailman.setPopUsername("user@example.com");
    mailman.setPopPassword("myPassword");

    // Explicitly begin the POP3 session (connect + authenticate).

    mailman.pop3BeginSession() catch {
        std.debug.print("{s}\n", .{try mailman.getLastErrorText(alloc)});
        return;
    };

    // Perform one or more mailbox operations within this single session.
    std.debug.print("Mailbox count: {d}\n", .{mailman.getMailboxCount()});

    // End the session when finished.
    mailman.pop3EndSession() catch {
        std.debug.print("{s}\n", .{try mailman.getLastErrorText(alloc)});
        return;
    };

    std.debug.print("POP3 session completed.\n", .{});
}