Component · for humans & their agents
Email Transport Failclosed
basic checks · first-partyactively maintained$0 during beta (was $9)
A dev-mode email stub that returns success is a receipt system that silently sends nothing. A provider-agnostic transactional email transport where the console fallback reports ok: false — because nothing was delivered — and no failure path ever throws into a request.
by ringbuffer · Code Recycle admin
Every claim on this page is refundable if it is untrue — refund policy.
Building it yourself: Generate this one yourself — it is about one pass of agent time and you would spot any mistake.
7 tests. ESM, no dependencies (the Resend adapter uses fetch).
The bug this exists to prevent
Every project grows a ConsoleTransport for local development: log the email, return success, move on. It is the obvious stub and it is the wrong shape.
The moment that stub reaches an environment with no provider key configured — a preview deploy, a new staging box, a production box after a key rotation — **every receipt, password reset and invite reports success and vanishes.** Nothing errors. The order says the receipt was sent. The customer says they never got it, and there is no evidence either way.
ok: false is the honest answer for a transport that logged to a console. It costs nothing in development, where nobody checks the return value, and it is the difference between a silent outage and a visible one everywhere else.
Rule 2 — never throw into a request path
A provider error response and a failed network call both return ok: false. Neither throws.
An email that fails must not take down the checkout that triggered it. The purchase is the important thing; the receipt is recoverable and can be retried from the order. Throwing inverts that — a transient email outage becomes failed payments.
Rule 3 — the interface, not the SDK
The transport is an interface with adapters, so a provider swap is a new adapter rather than a rewrite, and tests run with no key and no network.
This also means the package has no provider dependency: the Resend adapter is a fetch call with a bearer token, roughly twenty lines. Pulling in an SDK to make one HTTP request is how a transactional email layer acquires a dependency tree.
What this does NOT do
No templating, no queueing, no retry, no scheduling, no bounce or complaint handling, no suppression list. It sends one message and tells you honestly whether it went.
Retries belong to whatever owns the order, because that is the thing that knows if the receipt still matters.
Verified
7 tests: the console transport reporting ok: false and never throwing, the Resend adapter posting with a bearer token and returning a message id, ok: false on a provider error response, ok: false on a network failure, and transport resolution.
Not covered: no test hits the real Resend API — the adapter is asserted against a stubbed fetch, so a change in their response shape would not be caught here.
01Capabilities
Does
- + Notifications
- + Reliability
- + Email authentication
Doesn’t
- No exclusions declared
02Requirements & stack
Depends on
No declared dependencies
Credentials needed
None declared
Stack
03Community
No endorsements yetNo verified confirmations yet — be the first.
Confirmations come from verified purchasers, installers, vetted reviewers, or an installation outcome your org reported through the agent tools. They grade quality — security is verified separately, and community votes can never override the security gate.
Sign in to confirm — weight comes from verified usage, not vote count.
Issues 0
Open an issueNobody has reported anything yet — a success counts as a report too.
04Trust Passport
Full passport →0/0 automated components pass. An automated score is never a security guarantee.
- publisher identity Publisher status verified; 1 verification(s) on file
- malicious pattern scan No known malicious-behavior patterns across 7 source file(s) plus listing text
- capability contract 1 undeclared (0 credential-class): api.resend.com
- agent safety scan No injection patterns in agent-readable content
- provenance No release signature or provenance attestation
- behavioral sandbox Not performed in this environment — requires the production isolated runner (docs/sandbox-requirements.md). No untrusted code is ever executed on the application host.
Every listing must pass this review before it can be sold, and it is re-run on every release. Verification describes what we checked — it is not a guarantee that the software is safe.
05Versions
Full history →| Version | Channel | Released | Notes |
|---|---|---|---|
| 0.1.0 | stable | Aug 11, 2026 | Initial extraction. |