An SMTP client and server library for Zig implementing RFC 5321.
3.1 kB
63 lines
1// SPDX-FileCopyrightText: © 2026 Jeffrey C. Ollie <jeff@ocjtech.us>
2// SPDX-License-Identifier: MIT
3
4.{
5 // This is the default name used by packages depending on this one. For
6 // example, when a user runs `zig fetch --save <url>`, this field is used
7 // as the key in the `dependencies` table. Although the user can choose a
8 // different name, most users will stick with this provided value.
9 //
10 // It is redundant to include "zig" in this name because it is already
11 // within the Zig package namespace.
12 .name = .zsmtp,
13 // This is a [Semantic Version](https://semver.org/).
14 // In a future version of Zig it will be used for package deduplication.
15 .version = "0.0.0",
16 // Together with name, this represents a globally unique package
17 // identifier. This field is generated by the Zig toolchain when the
18 // package is first created, and then *never changes*. This allows
19 // unambiguous detection of one package being an updated version of
20 // another.
21 //
22 // When forking a Zig project, this id should be regenerated (delete the
23 // field and run `zig build`) if the upstream project is still maintained.
24 // Otherwise, the fork is *hostile*, attempting to take control over the
25 // original project's identity. Thus it is recommended to leave the comment
26 // on the following line intact, so that it shows up in code reviews that
27 // modify the field.
28 .fingerprint = 0x579395bcd3b65a42, // Changing this has security and trust implications.
29 // Tracks the earliest Zig version that the package considers to be a
30 // supported use case.
31 .minimum_zig_version = "0.16.0",
32 // This field is optional.
33 // Each dependency must either provide a `url` and `hash`, or a `path`.
34 // `zig build --fetch` can be used to fetch all dependencies of a package, recursively.
35 // Once all dependencies are fetched, `zig build` no longer requires
36 // internet connectivity.
37 .dependencies = .{
38 .tls = .{
39 .url = "https://github.com/ianic/tls.zig/archive/e04ae448ce7ee70c136d4d48b059314543203809.tar.gz",
40 .hash = "tls-0.1.0-ER2e0jGpBgCkVC-Yp12NgSdHNUtZr52MleJ8roHlUa54",
41 },
42 // Exim's source, used only for its scriptable SMTP test client
43 // (test/src/client.c). Lazy: fetched only by `zig build -Dexim-client`.
44 .exim = .{
45 .url = "https://github.com/Exim/exim/archive/13835a3c1e057efad7da269c0f93bf2eac850205.tar.gz",
46 .hash = "N-V-__8AAFtMiwHRrbE2kejFyc1FTFciBTZJlJOPGt-eIVGJ",
47 .lazy = true,
48 },
49 // Dominic Sayers' is_email test suite, used only for the address
50 // corpus test. Lazy: fetched only by `zig build test -Disemail-corpus`.
51 .isemail = .{
52 .url = "https://github.com/dominicsayers/isemail/archive/cfeefc3f2f88cb195053f6a309fa4f640cd369b5.tar.gz",
53 .hash = "N-V-__8AAI5RBAAIsFSqnDYObnOsBo3t9cQMXnvu0vQQRSAf",
54 .lazy = true,
55 },
56 },
57 .paths = .{
58 "build.zig",
59 "build.zig.zon",
60 "src",
61 "README.md",
62 },
63}