Sample code for 30+ languages & platforms
Zig

Test HotMail POP3 (pop3.live.com or pop-mail.outlook.com)

See more POP3 Examples

Demonstrates connecting and authenticating to pop3.live.com. Make sure to enable POP3 access, as shown here:

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

    // This example requires the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

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

    // Connection settings for pop3.live.com (or pop-mail.outlook.com, both should work)
    mailman.setMailHost("pop-mail.outlook.com");
    mailman.setMailHost("pop3.live.com");

    mailman.setPopUsername("my_account@live.com");
    mailman.setPopPassword("my_live.com_password");
    mailman.setMailPort(995);
    mailman.setPopSsl(true);

    // Make the TLS connection to the POP3 server.
    mailman.pop3Connect() catch {
        std.debug.print("{s}\n", .{try mailman.getLastErrorText(alloc)});
        return;
    };

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

    // Find out how many emails are on the server..
    const num_emails = mailman.checkMail();
    if (num_emails < 0) {
        std.debug.print("{s}\n", .{try mailman.getLastErrorText(alloc)});
        return;
    }

    // Examine the POP3 session log:
    std.debug.print("{s}\n", .{try mailman.getPop3SessionLog(alloc)});

    // End the POP3 session and close the connection to the POP3 server.
    mailman.pop3EndSession() catch {
        std.debug.print("{s}\n", .{try mailman.getLastErrorText(alloc)});
        return;
    };

    std.debug.print("-- Finished.\n", .{});

    // The output of this program:

    //     **** Connected to pop3.live.com:995
    //     < +OK DUB006-POP206 POP3 server ready
    //     > USER chilkat@live.com
    //     < +OK password required
    //     > PASS ****
    //     < +OK User successfully authenticated. [AuthResult=0 Proxy=CY1PR17MB0630.namprd17.prod.outlook.com:1995:SSL]
    //     > STAT
    //     < +OK 46 3980488
    //
    //     -- Finished.
    //
}