Cloudflare setup
Everything that has to exist on the Cloudflare side before Strapi can send.
1. Plan
Email Sending (outbound to arbitrary recipients) requires the Workers Paid plan. On the Free plan you can only send to verified destination addresses inside your own account.
Sending is 3,000 emails/month included, then $0.35 per 1,000 — see the pricing page.
2. Onboard your sending domain
From the Cloudflare dashboard (Email Service → Email Sending), or with wrangler:
npx wrangler email sending enable yourdomain.comCloudflare then shows the DNS records to add (SPF + DKIM, and a verification record). Publish them at your DNS provider and wait for the domain to show as verified — until it is, sends fail with E_SENDER_NOT_VERIFIED-style errors, or email.sending.error.authentication.forbidden from the REST API.
TIP
The domain used in settings.defaultFrom must be the onboarded one. Any local part works (no-reply@, orders@, support@) once the domain itself is verified.
3. Create an API token
- Create a Cloudflare API token with the Email Sending permission (account-level), scoped to the account that owns your domain.
- Copy the token — this becomes
CLOUDFLARE_API_TOKEN. - Copy your account ID from the dashboard sidebar or any zone's overview page — this becomes
CLOUDFLARE_ACCOUNT_ID.
Never commit either value; keep them in .env / your secret manager. The provider only ever reads them from providerOptions.
4. Test outside Strapi
Confirm the credentials work before wiring Strapi:
curl "https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/email/sending/send" \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"to": "you@yourdomain.com",
"from": "no-reply@yourdomain.com",
"subject": "Cloudflare Email Sending works",
"html": "<p>It works.</p>",
"text": "It works."
}'A 200 with "success": true means the token and domain are good. Send to an address you actually control — bounces from invented addresses damage your sender reputation.
Next
Continue with Configuration.