// SPDX-FileCopyrightText: © 2026 Jeffrey C. Ollie // SPDX-License-Identifier: MIT //! zsmtp — an SMTP client and server library for Zig //! ([RFC 5321](https://datatracker.ietf.org/doc/html/rfc5321)). //! //! Both `Client` and `Server` run over plain `std.Io.Reader`/`std.Io.Writer` //! pairs, so they work with any transport: TCP streams, in-memory buffers in //! tests, or the `Tls` layer. The lower-level protocol pieces — reply //! parsing, command parsing, dot-stuffing — are exposed via `protocol`. const std = @import("std"); pub const protocol = @import("protocol.zig"); pub const Reply = protocol.Reply; pub const Command = protocol.Command; pub const Client = @import("Client.zig"); pub const Server = @import("Server.zig"); pub const Tls = @import("Tls.zig"); /// Re-export of the ianic/tls.zig library used for server-side STARTTLS, /// e.g. `zsmtp.tls.config.CertKeyPair` for loading the server certificate. pub const tls = @import("tls"); /// Re-export of [zig-sasl](https://git.jcollie.dev/jeff/zig-sasl), which is /// where the AUTH mechanisms live: `zsmtp.sasl.Plain`, `sasl.CramMd5`, /// `sasl.XOAuth2` and the rest, for handing to `Client.authenticate`. They /// are not here because nothing about them is specific to SMTP — POP3 and /// IMAP want the same ones. pub const sasl = @import("sasl"); test { _ = protocol; _ = Client; _ = Server; _ = Tls; }