This is an old revision of the document!
Table of Contents
Email and SMTP
Transactional email for folk.zone services: registration confirmations, password resets, opted-in notifications. Getting it wrong means broken signups and spam-folder delivery.
Sending Domain
Authenticate a dedicated sending subdomain (mail.folk.zone) at the DNS provider:
- SPF:
v=spf1 include:<provider> ~all - DKIM: TXT records provided by the ESP dashboard
- DMARC:
v=DMARC1; p=quarantine; rua=mailto:dmarc@folk.zone; pct=100
Send from noreply@folk.zone with Reply-To set to a monitored address so people can actually respond.
Provider Strategy
| Tier | Provider | For | Free tier |
|---|---|---|---|
| Primary | Resend | Mastodon, WriteFreely, Forgejo, Pixelfed, BookWyrm, Lemmy, Rallly | 3,000/month, 100/day |
| Overflow | SendGrid | Low-volume services: wiki, pad, go, status alerts | ~100/day |
| Fallback | Stalwart Mail or maddy (self-hosted) | If costs become unsustainable | n/a |
Resend config shape:
SMTP_ADDRESS: smtp.resend.com SMTP_PORT: 587 (STARTTLS) SMTP_USERNAME: resend SMTP_PASSWORD: <API key> SMTP_AUTHENTICATION: plain
SendGrid's account restrictions are increasingly aggressive on residential IPs. Brevo is the friendlier alternative for indie operators.
Registration Spikes
Open or semi-open registration can exhaust a 100/day free tier in an hour. Mitigations:
- Enable the app's email queue where it exists (Mastodon and WriteFreely both support rate-limiting outbound mail)
- Stagger invite sends; do not issue 500 invites at once
- Monitor the provider dashboard and alert near the daily limit
Why Not Self-Hosted SMTP
Deliverability from a residential IP is the blocker: PTR records depend on the ISP, and residential ranges are flagged by default. The fix is routing outbound SMTP through a cheap VPS as a smart relay, which reintroduces a monthly cost for marginal gain. Not worth it until paid ESP tiers become the constraint.
