Open Source Email Infrastructure
email for your AI agents
give your agents their own email address. send transactional email, receive inbound mail into agent inboxes, run campaigns, and manage contacts. self-hosted in one Docker container.
import { Pigeons } from '@pigeons/pigeons-ts'
const pigeons = new Pigeons({ baseUrl: 'http://localhost:3891' })
await pigeons.emails.send({
to: 'user@example.com',
subject: 'Hello from Pigeons',
html: '<p>Your email is working!</p>',
})Features
Everything you need to send email
A complete email platform in a single binary. Transactional, inbound, campaigns, and AI tooling out of the box.
Transactional Email
Send via SES with queuing, retries, and delivery tracking. Every email is logged with full event history.
Inbound Webhooks
Receive email via SES receipt rules, parsed and delivered to your app as structured webhook payloads.
Campaigns & Sequences
One-time sends and multi-step drip sequences with audience segmentation and per-step analytics.
MCP Server
14 tools for AI agents to send email, manage contacts, and run campaigns through the Model Context Protocol.
TypeScript & Python SDKs
Typed clients for both languages, plus a CLI and curl-friendly REST API. First-class developer experience.
Self-Hosted
Your data, your infrastructure. One Docker container, SQLite or LibSQL. No usage limits, no vendor lock-in.
How It Works
Up and running in three steps
Deploy
docker run or deploy to your cloud. One container, one SQLite file, zero dependencies.
Connect AWS SES
Run pigeons setup aws to configure SES, DNS records, and event tracking.
Send Email
Use the SDK, CLI, REST API, or MCP server. Emails queue, retry, and track automatically.
Examples
Ready to run examples
Start sending in two minutes
Free, open source, self-hosted. No API keys to buy, no usage limits, no vendor lock-in.