---
url: /features/email-messaging.md
---
# Email Messaging

Quarzo Life can queue transactional emails tied to policy and payment events, and route admin notifications to the right recipients.

## Queued messages

Each queued email carries a subject (within a length limit) and is deduplicated using an idempotency key — sending the same key twice does not send the email twice. Clients can send the optional `X-Quarzo-Life-Idempotency-Key` header to retry safely: a retry with the same key and request returns the original response, and the same key with a different request returns `409 IDEMPOTENCY_KEY_CONFLICT`. Admin notifications accept the same header. A blank header counts as absent, and leading or trailing whitespace in the key is ignored. Internal template rendering failures are surfaced as errors rather than silently dropped.

## Admin notifications

Admin notification emails require a configured sender address and at least one recipient; requests without either are rejected before the pipeline runs.

## Related

* [Error Handling → Emailing errors](/errors/)
