Been working on an SMTP client for Zig. It's been more painful than I thought.
RFC 5321 feels like the most poorly written RFC I've read. Hard to pinpoint exactly why. I would strongly recommend that implementers look at the original, RFC 821, first. It's leaner and more straightforward.
Also, the state of TLS in Zig is pretty rough right now. And what's up with Amazon's SES crap support for TLS 1.3?