Outbound via the `send_email` binding (`env.SEB.send(EmailMessage)`) over a `mimetext`-built MIME envelope. Inbound via the Worker's `email()` handler — Email Routing forwards every message to `postal-mime.parse()` and Helm indexes it into a D1 `inbound_email` table. `email-send` is marked dangerous so selective-mode holds the draft for owner approval; `email-draft` is the read-only preview path. Pair with the `notifier` plugin to use email as the PA's primary push channel.
Install
1 · Config
Append to ENABLED_PLUGINS in wrangler.toml:
Wrangler config:
[[send_email]] name = "SEB" # destination_address = "you@example.com" # optional restriction
2 · Secrets
Run each from your Worker project:
-
wrangler secret put OWNER_EMAILThe inbox the PA writes to and reads from. -
wrangler secret put FROM_EMAILoptional — Sender address — domain must have Email Routing active.
Copy-paste .dev.vars template
OWNER_EMAIL=The inbox the PA writes to and reads from. FROM_EMAIL=# optional — Sender address — domain must have Email Routing active.
3 · Steps
- dash → Email → Email Routing → enable on your sender domain
- Verify the destination address (your inbox) so SEB.send() can target it
- For inbound: dash → Email Routing → catch-all → Send to Worker → pick this Worker
- wrangler deploy