Skip to main content
Lettr is an email infrastructure platform built for developers who need reliable, scalable email delivery without the complexity. Whether you’re sending transactional emails like password resets and order confirmations, or building sophisticated email workflows with tracking and analytics, Lettr provides the APIs and tools to get it done. Email delivery is deceptively complex. Between authentication protocols like SPF, DKIM, and DMARC, reputation management, bounce handling, and the ever-changing landscape of spam filtering, building reliable email infrastructure from scratch is a significant undertaking. Lettr handles this complexity so you can focus on your application.

What You Can Build with Lettr

Transactional Emails

Password resets, order confirmations, shipping notifications, account alerts, and any email triggered by user actions.

Marketing Campaigns

Newsletters, announcements, and promotional emails with open and click tracking.

Inbound Processing

Receive and parse incoming emails to power support tickets, reply detection, and automated workflows.

Email Automation

Build complex email flows with webhooks, templates, and real-time event tracking.

Core Capabilities

Lettr provides everything you need for production email infrastructure:
Send individual emails or batch thousands with a single API call. Lettr handles queuing, delivery optimization, and retry logic automatically. Support for HTML, plain text, and AMP email formats with automatic MIME handling.
Configure SPF, DKIM, and DMARC records through the dashboard or API. Lettr guides you through DNS setup and verifies your configuration to ensure maximum deliverability. Support for multiple sending domains, tracking domains, and custom storage domains for email assets.
Track opens, clicks, bounces, spam complaints, and unsubscribes as they happen. Receive instant webhook notifications or query the API for detailed analytics. Custom tracking domains keep your brand visible in every link.
Create email templates with the visual Topol.io editor or write HTML directly. Use variables for personalization and store templates in Lettr for consistent branding across your application.
Automatic handling of bounces, spam complaints, and unsubscribes protects your sender reputation. Lettr maintains suppression lists and prevents sending to problematic addresses without any code on your part.
Receive emails at your domain and process them programmatically. Parse sender information, subject, body, and attachments via webhooks. Build support inboxes, reply detection, or any workflow that starts with an incoming email.

Get Started

Choose your integration path and send your first email:

How It Works

1

Get Your API Key

Create an account at app.lettr.com and generate an API key from your dashboard. Keys can be scoped to sending-only or full access.
2

Verify Your Domain

Add your sending domain and configure DNS records for SPF, DKIM, and DMARC authentication. Lettr provides the exact records to add and verifies your setup.
3

Send Your First Email

Make a single API call to send an email. Lettr handles delivery, tracking, and bounce processing automatically.
4

Monitor and Iterate

Track delivery metrics in the dashboard or receive real-time webhook notifications. Use analytics to optimize your email strategy.

Why Lettr?

Clean REST APIs with predictable responses, comprehensive SDKs for popular languages, and documentation written by developers for developers. No enterprise sales calls required—sign up and start building.
Lettr maintains relationships with major email providers and continuously optimizes delivery infrastructure. Automatic warm-up for new domains, reputation monitoring, and feedback loop integration help ensure your emails reach the inbox.
Know exactly what’s happening with every email. Track delivery status, opens, clicks, and bounces as they occur. Webhooks deliver events in real-time, and the dashboard provides at-a-glance analytics.
Use the REST API directly, integrate with official SDKs, or connect via standard SMTP. Lettr fits into your existing stack without requiring architectural changes. Works with serverless functions, traditional servers, and everything in between.

Explore the Documentation