Claude Code Guide
Resend + Supabase Auth + Namecheap DNS — five reproducible steps.
The complete trip from "sign-ups don't get an email" to "users receive a localized verification email." Resend + Supabase Auth + Namecheap DNS — reproducible in five minutes.
yoursite.com → copy the 3 DNS records → grab the re_xxxxxxxx API key.Open resend.com and sign up with GitHub or email (free).
Go to Domains → Add Domain and enter yoursite.com (use your own domain).
Resend gives you 3 DNS records right away — keep this page open; you'll copy them into Namecheap next:
feedback-smtp.us-east-1.amazonses.comv=spf1 include:amazonses.com ~allp=MIGf... public keyGo to API Keys → Create API Key, pick Sending access or Full access, and copy the re_xxxxxxxx value.
⚠ Shown only once — drop it into your password manager immediately.
Sign into Namecheap → Domain List → click Manage next to yoursite.com → Advanced DNS.
Click Add New Record and re-enter each row from Resend. The Host field takes only the subdomain prefix (see the warning below):
sendfeedback-smtp.us-east-1.amazonses.com10sendv=spf1 include:amazonses.com ~allresend._domainkeyAfter saving, wait 5–30 minutes for DNS to propagate, then go back to Resend's Domains page and click Verify DNS Records. Three green checks means you're good.
Want to double-check yourself? Run dig TXT resend._domainkey.yoursite.com and see if the record is live.
Namecheap's Host field only takes the subdomain prefix — it appends .yoursite.com automatically. If you paste the full domain, verification will never succeed.
send.yoursite.com
send
Supabase Dashboard → pick your project → left sidebar Authentication → Emails → SMTP Settings, then flip on Enable Custom SMTP.
Click Save changes. Supabase tries the handshake immediately — if a credential is wrong, it shows a red error (see the troubleshooting card under SMTP auth failed).
Still in Authentication → Emails, switch to Email Templates. Open these 4 templates one by one:
Example (Confirm signup template):
<h2>Welcome to YourSite</h2>
<p>Click the link below to verify your email:</p>
<p><a href="{{ .ConfirmationURL }}">Verify email</a></p>
<p>If this wasn't you, just ignore this message.</p>
Rewrite the subject in the same voice — for example: [YourSite] Please verify your email. Save each template as you finish it.
{{ .ConfirmationURL }}) — without them, the variable doesn't get rendered.Open an incognito window, visit https://yoursite.com/register, and sign up with a real email address.
The sender shows up as YourSite <noreply@yoursite.com>, with the subject and body in the language and tone you chose.
Click "Verify email" in the message. You should land back on the site, already signed in. That's success.
Resend dashboard → Logs shows the delivery record (Delivered / Opened).
noreply@yoursite.com as a contact; once DKIM passes, the rate drops sharply.dig TXT resend._domainkey.yoursite.com to confirm.resend, or a character got dropped from the API key.resend.5e35ddb feat(auth): enable email verification via Resend SMTP · in code, only env vars and docs changed; the actual sending capability comes from the platform configuration above — which is why this deploy diary matters more than the code diff.
Vexilo is the missing index for Claude Code — 31 agents, 125 commands, 123 skills and more, organized by scenario. Browse free; unlock search, filters and one-click CLAUDE.md export with a one-time $19 licence.