Zig
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
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", .{});
}