Blog
Built in the open
Faults we hit while building zSender, how we measured them, and how we fixed them. Every claim links to its source.
- 2026-10-05@fastify/cors v11 blocks browser DELETE and PATCHA major bump of @fastify/cors narrowed its default methods to GET, HEAD and POST. Browsers stopped sending DELETE and PATCH, and our server logged no error.
- 2026-10-05pino logs your Error as {} unless the key is errpino runs its error serializer on the key err only. Under any other key an Error goes through JSON.stringify and is logged as an empty object.
- 2026-10-05SpamAssassin DNSBLs go quiet on shared DNSBlocklists refuse queries that arrive through a shared DNS resolver. SpamAssassin scores the refusal at 0.001, and the spam score still looks normal.
Try it on the free plan.
Get an API key
1,000 emails a month free, no card. Pro is $29 a month for 50,000.