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

# Resend

> The verified sending domain and the guest-mail family that rides it: the booking magic link and the payment request, with the dedicated key named and never valued.

<Note>
  Resend carries every guest-facing email Lucia sends: the booking magic link
  that verifies a guest before the Guest Agent will talk to them, and the payment
  request Lucia drafts for the owner. Postmark is not in this family; it carries
  the employee-facing maintenance thread only.
</Note>

## The sending domain

Read from the Resend console (CLI) on 2026-09-10:

```text theme={"dark"}
domain: send.hellolucia.ai
status: verified
region: us-east-1
sending: enabled
receiving: disabled
created: 2026-05-11
```

That is a provider-console read, not an inference from source. It proves the
domain state on that date; it does not prove a particular message was
delivered.

## The guest-mail family

| Door               | Sent when                                                                | Template                                                                                                                                                               | Source                      |
| ------------------ | ------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------- |
| Booking magic link | A guest asks Lucia to verify a booking before talking to the Guest Agent | The formatted guest-mail template with one button                                                                                                                      | `guestVerificationEmail.js` |
| Payment request    | The owner taps **Send email** on Lucia's draft in the payment record     | The same template idiom: Lucia's words verbatim as the body, the Stripe checkout link as the one button, the amount and the stay's dates where the template puts facts | `paymentRequestOutbound.js` |

The payment request joined the family on 2026-09-09 (Payment request rides the
Resend template, LUCI-232, Completed; engine dev `862254d`, with the sender
display name and the dedicated key following as `8faf046` and `fe99abc`).
Before that it went out through a bare Postmark send borrowed from the
maintenance transport. The founder's words that opened the lane (2026-09-08):
"We really need to add a real email being sent out here."

The request ledger records the provider (`resend`) and the provider's message
id; the admin's payment record reads "Sent · waiting for the guest" from that
same ledger. A Resend failure surfaces to the owner in owner words.

**Links in words** (LUCI-235, engine dev `176343f`, Completed 2026-09-09). The email never prints the raw checkout URL.
The words the draft already uses ("pay here", "the link", "here") become a
short underlined anchor on the checkout URL, and the "Complete your payment"
button stays. The plain-text face prints the URL exactly once. SMS is
unchanged: a text has no link text, so the full URL stays in the message.

**One button, one shape** (LUCI-237, engine dev `c3c5d81`, In Review at the
time of this read). Every button in the guest-mail family is a centred
rectangle with 4 px corners, the same dark ground and cream text, defined once
in `guestMailButton.js` and borrowed by both doors. The founder's ruling
(2026-09-09): "I want the 'Pay Here' and 'Complete your payment' buttons in
rectangles not pills with 4-5px rounded corners. Same colors as now, and center
them in the email." The founder's own proof of the rectangles in the inbox is
not yet on the record. Still open on the record: the magic-link landing page
draws its web button as a pill.

**Proofs on the record.** The first formatted payment request landed in the
dev testing inbox on the founder's tap on 2026-09-08 (9:47 PM PT), delivered
by Resend; the founder's word: "Beautiful." (Dev guest mail lands in one inbox,
LUCI-231). The links-in-words face was proved by the founder's tap on
2026-09-09 (LUCI-235, Completed).

## The sender

The sender form the source accepts and the family uses is
`Lucia at Villa Valentin <lucia@send.hellolucia.ai>` (the source's own
example), read from `GUEST_VERIFICATION_EMAIL_FROM` by both doors; the sender
has no code default. By the names law (Lucia and
Villa Valentin lose the acutes, LUCI-238; founder 2026-09-09: "We want i.
Always." and never the accented form) the display name is spelled with a plain
i on every surface.
The Engine's source and its no-acutes pin already refuse the acute. The live
value of that variable on api-dev is set by the founder's hand and unverified;
the audit of 2026-09-10 recorded that the served value still carried the acute
until the founder changes it in Render.

## Keys, by name only

| Name                             | Used by                                           | Note                                          |
| -------------------------------- | ------------------------------------------------- | --------------------------------------------- |
| `PAYMENT_REQUEST_RESEND_API_KEY` | payment request door                              | dedicated key; read first                     |
| `RESEND_API_KEY`                 | magic-link door; payment request door as fallback | the family key                                |
| `RESEND_API_BASE_URL`            | both doors                                        | optional override of `https://api.resend.com` |
| `GUEST_VERIFICATION_EMAIL_FROM`  | both doors                                        | one address, bare or `Name <address>`         |

No value of any of these appears in this library. Whether a given name is set
on a given Render service is set by the founder's hand and unverified unless a
record says otherwise.

## Development: every guest mail lands in one inbox

Dev guest mail lands in one inbox (LUCI-231, engine dev `1e11e3e`, Completed
2026-09-09): when `LUCIA_GUEST_MAIL_SINK` is set, every guest-facing outbound
email is delivered to the sink address instead of the guest, with the intended
recipient written into the subject and both addresses reported to the send
ledger. The synthetic world's guests carry addresses on a reserved domain with
no mail server, so this is what lets a human judge a real dev send. The sink
is set on api-dev by the founder's hand; its address is a private mailbox and
does not publish.

Production never sets the variable: the Engine refuses to boot with a sink set
when the environment is production, and the same refusal guards the apply door.
Employee-facing mail (the Maintenance Inbox transports) never passes through
the sink.

## What Resend does not carry

* The employee-facing maintenance thread (Postmark). See
  [Postmark (Email Inbound)](/lucia/infrastructure/postmark-email-inbound).
* Text messages. The payment request's **Send text** door goes through Twilio
  (`TWILIO_SMS_FROM` by name). See
  [Twilio (SMS/MMS/WhatsApp)](/lucia/infrastructure/twilio-sms-whatsapp-voice).
* Inbound mail of any kind; receiving is disabled on the domain.

The marketing waitlist welcome email is separately owned by Lucia Marketing and
its dated 2026-05-11 delivery record stands on
[Resend Waitlist Outbound Email](/lucia/decisions/resend-waitlist-outbound-email).

## Truth rule

| State                  | What it proves                                                                                                          |
| ---------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| Implemented in source  | The owning revision contains the door.                                                                                  |
| Configured in provider | A fresh provider-console read proves the setting (the domain read above).                                               |
| Accepted by provider   | A dated provider receipt with a message id.                                                                             |
| Delivered              | Delivery evidence proves the destination received the message (the 2026-09-08 founder proof in the dev sink, LUCI-231). |

Never collapse those into "email is working."

## See also

* [Email Services](/lucia/infrastructure/email-services)
* [Guest Verification Email](/lucia/guest-facing-lucia/guest-verification-email)
* [Payment truth — current](/lucia/system-architecture/payment-truth-current)
* [Domains and Live Routing](/lucia/infrastructure/domains-and-live-routing)
* [START HERE - Infrastructure](/lucia/infrastructure/start-here-infrastructure)
