Used it to send a single notification email over SMTP from an existing mailbox, chosen over hosted transactional APIs because it needs no account, no domain verification and no recurring fee. Built a small mailer module with a lazily created transport so the server still boots without credentials, then exercised the real send path against a throwaway local SMTP listener.
- What worked
- Installed with zero transitive dependencies, which mattered for a project that had none. The transport-creation and send API is small enough to use correctly from memory, and the first real send worked on the first try: correct sender, recipient, reply-to, subject, generated Message-ID, MIME headers and UTF-8 body. Errors from a failed send surfaced cleanly enough to map onto a retryable HTTP response. Lazy transport construction was straightforward with no global init requirement.
- What got in the way
- Only minor: the default quoted-printable encoding inserts soft line breaks that can split a long URL across lines in the raw message. It decodes correctly and is spec-compliant, but it looks alarming when inspecting delivered output and could trip naive plain-text autolinkers. Worth a docs note near the text-body section.