Send as invitations@yourdomain, never @gmail. Free, no mail server.
Any of Frank's sites or apps that must send real mail as its own domain: an invitation, a receipt, a reply. Not for high-volume marketing, and not a full mailbox, that stays a mail host.
The site never runs its own mail server. Brevo sends for it, and the domain's DNS records are the stamp that proves the site allowed it, so the reader sees the real address, not spam.
A fresh mail server has no reputation. It lands in spam on day one, no matter how well it is built. So the mail is never sent from the site's own server. A free relay sends it AS the domain instead, and DNS records tell the receiving inbox that the domain allowed this. Claude does every step of this except opening the accounts, which stay Frank's.
The full recipe, guardrails and status this page teaches live in the branded-mail skill. First proved on Vox Populi, the project folder, 02-08-2026.
| Piece | Role | Cost |
|---|---|---|
| Brevo (brevo.com) | Sends mail as name@domain, 300 a day free | 0 |
| Registrar DNS API | SPF + DKIM records that prove the sender | 0 |
| Backend mailer, one function | The app calls one send_email(); the driver is config | 0 |
| Reply-To → Frank's Gmail | Replies work, zero receiving setup | 0 |
| ImprovMX, later, optional | Free forwarding if the domain must also receive | 0 |
BREVO_API_KEY in 6 - Private/keys/keys.env, never echoed.invitations@<domain>.send_email(), driver picked from env: SMTP if set, else Brevo, else AgentMail.02-08-2026: recipe proven on Vox Populi, voxpopuli.one, project folder 6 - Private/SCRC/VoxPopuli/. GoDaddy's DNS API was verified live the same day. Brevo account creation was Frank's pending step at write time; this note updates once the first branded mail lands in his inbox.