Measure a draft against the send limits before uploading it

Featurekamo-internal
Shipped
August 6, 2026 at 8:49 PM UTC
Author
kamo
Commit
c33cb05

A body carrying inline base64 — HTML pasted from a web page, a forward's quoted content, a signature's images — can pass the per-part ceiling on its own. The send endpoint refuses it in the servlet container ahead of any handler, and on a large overage Tomcat drops the connection rather than swallow the rest of the body, so the composer had a failed upload and nothing to say about it beyond "Failed to send email". checkSendPayload measures the exact JSON that goes on the wire, plus the attachments and the multipart framing, against the same limits EmailService enforces. sendError now reads the MESSAGE_TOO_LARGE reply and the limits that applied, so a server whose limits have moved is still described accurately rather than against a stale constant.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing