Welcome to the Jose Madrid Salsa developer docs — explore features, APIs, and deployment guides.
Jose Madrid SalsaJMS Docs

Email DNS Setup

SPF, DKIM and DMARC records that let Resend deliver mail as josemadrid.net.

Email DNS Setup

Transactional and marketing email is sent through Resend (see Email Integration). Delivery only works reliably once the sending domain is authenticated — otherwise mail lands in spam or is rejected outright, and the sender has no way to tell.

Environment variables

VariablePurpose
RESEND_API_KEYResend API key
FROM_EMAILThe verified sender address — must be on a verified domain
RESEND_WEBHOOK_SECRETVerifies inbound delivery events
UNSUBSCRIBE_SECRETSigns one-click unsubscribe links

Records to add

Resend generates the exact values when the domain is added in its dashboard (Domains → Add Domain). Add every record it shows before marking the domain verified. There are three kinds:

TypePurpose
SPF (TXT)Authorises Resend's servers to send as the domain
DKIM (TXT, on a Resend-provided selector)Signs each message so the recipient can verify it was not altered
DMARC (TXT at _dmarc)Tells receivers what to do when SPF/DKIM fail, and where to send reports

A domain can only have one SPF record. If one already exists, merge Resend's include: into it rather than adding a second TXT — two SPF records is a hard failure, not a merge.

Start DMARC at p=none with a reporting address, read the reports for a couple of weeks, and only then tighten to quarantine or reject. Going straight to reject before SPF and DKIM are both passing will silently drop legitimate mail.

Verifying

  1. Add every record Resend lists, exactly as shown.
  2. Wait for propagation — usually minutes, occasionally up to a few hours.
  3. Click Verify in the Resend dashboard. All records must show green.
  4. Send a real test to an address on a different provider (Gmail, Outlook) and use "Show original" / message headers to confirm spf=pass and dkim=pass.

Do not test deliverability by triggering the production senders. Production has been pre-traffic — an errant campaign send is not recoverable. Verify with a single manual send to your own address instead.

Delivery events

Resend posts bounces, complaints and deliveries to /api/webhooks/resend, verified with RESEND_WEBHOOK_SECRET via the Resend SDK (Svix signature headers). Those events populate EmailBounce and EmailSuppression, which the campaign sender respects. See Email Marketing.

How is this guide?

Edit on GitHub

Last updated on

On this page