- Endpoint:
POST /api/v1/emails/send - Fields:
cc: string or string[] — carbon copy recipientsbcc: string or string[] — blind carbon copy (not exposed in MIME headers)attachments: array of{ filename, contentBase64, contentType? }
- Max attachments per email:
ATTACHMENTS_MAX_COUNT(default 5) - Max total attachments size:
ATTACHMENTS_MAX_TOTAL_MB(default 10 MB) - Invalid base64 or exceeding limits returns
400with a descriptive error.
- Attachments may be gated by plan. If disabled, requests with attachments return
402(Payment Required). - Fluxomail enforces via Autumn (
feature_id: attachments).
- MIME: with attachments, Fluxomail builds
multipart/mixedwith an innermultipart/alternative(text + HTML) and appends each attachment as a base64 part. - BCC is included in the provider Destination only; no
Bcc:header is emitted in MIME.
- Logs (suggested): when attachments present — include count, total size, requestId, and reasons for denials.
- Metrics (suggested):
attachments.allowed.count,attachments.denied.count{reason},attachments.total_count,attachments.total_bytes,attachments.total_size_mb.
- Keep total size small (≤10 MB) to maximize deliverability and reduce provider throttling.
- Prefer links to large files hosted on your domain or storage provider.
- For browsers, never use API keys — mint short‑lived tokens server‑side.
