aboutsummaryrefslogtreecommitdiff

smtp-zig

SMTP client library for zig.

WORK IN PROGRESS.

TODO: - [ ] Dot encoding/escaping - [ ] Lots more tests - [ ] Support more extensions and authentication mechanisms - [ ] Zig package management

Code example:

const std = @import("std");
const smtp = @import("smtp");
const Client = smtp.Client;

pub fn main() !void {
    const mail = 
    \\Subject: test
    \\From: <martin@mfashby.net>
    \\To: <martin@mfashby.net>
    \\
    \\This is a test message
    ;
    const user = std.os.getenv("SMTP_USERNAME").?;
    const pass = std.os.getenv("SMTP_PASSWORD").?;
    var client = try Client.init(std.heap.page_allocator, "mail.mfashby.net:587", .{.user = user, .pass = pass});
    defer client.deinit();
    try client.send_mail("martin@mfashby.net", &[_][]const u8{"martin@mfashby.net"}, mail);
    try client.quit();
}

This project is licensed under the terms of the MIT license.