folk.zone Wiki

a public knowledge base

Site Tools


folkzone:email

This is an old revision of the document!


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.

See Also

folkzone/email.1792792470.txt.gz · Last modified: by 127.0.0.1 · Currently locked by: 172.19.0.10