# Configure email

> Configure transactional email for a ZeroDirs directory site — the submitter receipt, the admin notification and the approval mail. Covers the default Cloudfl…

You are reading one page of the ZeroDirs documentation. ZeroDirs is a paid Astro + Cloudflare Workers starter for directory sites: every page is rendered to static HTML at build time, the site ships no client JavaScript outside `/search/`, and one file — `site.config.ts` — carries roughly 80% of the customisation.

Two things to hold on to before you act on anything below:

- `site.config.ts` is validated by a zod schema with ten cross-field rules. After any edit to it, run `pnpm check:config`; every problem is reported as `site.config.ts › <path>: <message>` and the whole file is checked at once.
- The repository ships its own `AGENTS.md` with twenty hard rules, and a machine-checked test suite behind them. If you are working inside a ZeroDirs project, read that file first — it overrides anything general you infer from this page.

Source: https://zerodirs.com/docs/agents/recipes/configure-email/

---

<!-- DO NOT EDIT — generated from zerodirs/zerodirs .agents/skills/ by .github/docs/generate.ts (docs-sync.yml). Edit the source, not this page. -->

`.agents/skills/configure-email/SKILL.md` — 119 lines of instruction that ship inside the starter. This page is generated from it, so it says what the skill does without republishing it.

## When an agent picks this up

The skill description, verbatim — this is the text an agent matches your request against:

> Configure transactional email for a ZeroDirs directory site — the submitter receipt, the admin notification and the approval mail. Covers the default Cloudflare Email Sending path (the EMAIL binding, enabling a sending domain, the Workers Paid requirement), switching to Resend as the free-plan alternative (domain verification, RESEND_API_KEY via pnpm cf:secrets), the emailFrom rule, adminNotify, and how to verify with the outbox and the /admin/ configuration report. Use when asked to set up email, switch email providers, fix mail that is not arriving, or explain why submitters get no confirmation.

## What it walks through

1. Decide first
1. Path A — Cloudflare Email Sending (the shipped default)
1. Path B — Resend
1. Verify
1. What not to do

## Commands it runs

```sh
pnpm exec wrangler email sending enable acme.com
pnpm exec wrangler email sending dns get acme.com   # shows the records; wait until they resolve
pnpm dev
pnpm check:config
pnpm cf:typegen
pnpm check
pnpm cf:secrets RESEND_API_KEY   # one prompt; its help text says where the key comes from
pnpm exec wrangler email routing addresses create you@example.com
```

## Files it touches

`site.config.ts` · `src/server/email/index.ts` · `wrangler.jsonc` · `src/server/email/resend.ts` · `.dev.vars.example` · `src/server/env.ts`

## Using it

Skills load themselves — you describe the outcome, not the skill. "Add a Compliance category with an icon and seed it" is enough for an agent that can see `.agents/skills/`; Claude Code reads `.claude/skills/`, which `pnpm skills:sync` mirrors from `.agents/` on every install. See [Working with an agent](https://zerodirs.com/docs/agents/overview/).
