Newsletter
Full email newsletter infrastructure built into the editor. Write in the newsletter compose view, send to your subscribers.
Sending
- SendGrid backend (fetch-based, no SDK)
- Batched sending: 1,000 recipients per API call
- Auto image extraction: local images → base64 → R2 upload → email embed
- TipTap → Markdown → HTML + plaintext conversion
- Juice CSS inlining for email client compatibility
- Table-based layout for Outlook support
Style Presets
| Preset | Style |
|---|---|
| Clean | System sans-serif, GitHub-readme feel |
| Literary | Georgia serif, warm editorial, Substack-like |
| Minimal | Georgia body + sans-serif headings, elegant whitespace |
| Bold | Helvetica, strong headings, magazine feel |
Each preset has a dark mode variant.
Custom Domains
Send from your own domain (e.g., updates@yourbrand.com):
- Add your domain in the newsletter settings
- Auto-DNS setup for Cloudflare-managed domains
- SendGrid Domain Authentication (CNAME, SPF, DKIM)
- Verification status tracking
Subscriber Management
- Add and list subscribers with pagination
- Per-recipient HMAC-signed unsubscribe URLs
- Test email support before sending
Analytics
Via SendGrid Event Webhook:
- Delivered count, open rate, click rate
- Bounce tracking (hard + soft)
- Unsubscribe tracking
- Per-issue aggregation