> ## Documentation Index
> Fetch the complete documentation index at: https://docs.comforthub.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Resend

> The one door every email leaves through: the sender addresses, the safety guard, and the ledger

Resend is the service that delivers our email. The engine builds each message, checks the address, records it in a ledger, and hands it to Resend. Nothing in the business sends customer email any other way.

## What it sends

Every message on [Emails we send](/reference/emails-we-send): booking confirmations and moved-appointment notices, invoices, receipts, quotes, app logins. Each is a template the engine fills in; there is nothing to edit in Resend itself. The engine sends no operator email: problems reach the owner through [Sentry](/systems/sentry).

## Sender addresses

| From                         | Used for                                                            |
| ---------------------------- | ------------------------------------------------------------------- |
| Comfort Hub, support address | appointment emails and appointment reminders                        |
| Comfort Hub, orders address  | stocking orders to suppliers                                        |
| Comfort Hub, billing address | everything else, including invoices, receipts and invoice reminders |

All three are on the comforthub.ca domain, which is verified in Resend so mail is signed and lands in inboxes. Replies to a customer email go to the address it came from.

## The safety guard

Before any message leaves, the address is checked against a short allowlist and anything else is redirected to the owner; the rule and how to widen it are on [Email safety](/handbook/running/email-safety).

## The ledger

Every send is one row in a table on our side, written before the message leaves and completed with Resend's message id after. One live row per email per record, so a booking is never confirmed twice; a resend has to be asked for on purpose. The row is the proof a message went: it holds the recipient, the subject, the time, and the id Resend gave it.

## Limits worth knowing

* The key the engine holds can only send. Reading a sent message back out of Resend needs a wider key, which the engine does not have on purpose.

## Related

* [Emails we send](/reference/emails-we-send)
* [Email safety](/handbook/running/email-safety)
* [How booking works](/handbook/booking/how-booking-works)
