E2a: Open-Source Email Gateway for AI Agents with SPF/DKIM Verification and Webhook/WebSocket Delivery

E2a is an open-source email gateway designed to let AI agents send and receive emails as triggers. It provides authenticated transport — inbound mail is verified with SPF/DKIM, and every delivery includes HMAC-signed X-E2A-Auth-* headers. Agents receive mail via webhook (cloud mode) or WebSocket (local mode, no public URL needed). Outbound mail is sent via an HTTP API, supporting agent-to-agent (SMTP relay) and agent-to-human (upstream SMTP like SES or Resend) flows.
Key features from the source:
- Email threading stays consistent with agent conversation threading.
- Human-in-the-loop review for outbound emails, with approval via dashboard, magic-link email, or CLI.
- Quick onboarding/offboarding of email addresses for agents within minutes.
- WebSocket for local agents and at-least-once webhook delivery for cloud agents.
- Outbound API with optional HITL hold.
- Hosted version at e2a.dev with shared
agents.e2a.devdomain for instant slug-based onboarding.
Self-hosting requires Docker. Clone the repo and run:
git clone https://github.com/Mnexa-AI/e2a.git
cd e2a
docker compose up -dThis starts Postgres (with auto-migrations), the API server on port 8080, SMTP relay on 2525, and a dashboard (Caddy + Next.js) on port 3000. Health check: curl http://localhost:8080/api/health.
Create a user and API key (no OAuth required):
docker compose exec e2a e2a -config /etc/e2a/config.yaml -bootstrap-email [email protected]Register an agent and confirm:
KEY=e2a_...
curl -X POST http://localhost:8080/api/v1/agents \
-H " Authorization: Bearer $KEY " -H " Content-Type: application/json " \
-d ' {"slug":"my-bot","agent_mode":"local"} '
curl -H " Authorization: Bearer $KEY " http://localhost:8080/api/v1/agentsTo receive real inbound mail, point your domain's MX record at the relay host. The project currently lacks DMARC support (only SPF/DKIM), scoped API keys, HA/multi-region, app-layer email data encryption, and compliance attestations (SOC 2/HIPAA).
📖 Read the full source: HN AI Agents
👀 See Also

MCP server connects AI agents to existing Chrome sessions with cookies and auth
@playwright-repl/mcp is an MCP server that connects AI agents to your existing Chrome browser via the Dramaturg extension, providing access to your real browser session including cookies and authentication. It supports full Playwright JavaScript, assertions, and works with Claude Desktop, Claude Code, Cursor, or any MCP client.

CLAUDE.md: Drop-in file reduces Claude output tokens by 63%
CLAUDE.md is a single file that cuts Claude output verbosity by approximately 63% without code changes. It targets sycophancy, verbosity, and formatting noise in Claude's responses.

vllm-mlx fork adds tool calling and prompt cache for local AI coding agents
A developer has modified vllm-mlx to fix tool calling issues and add prompt caching, reducing TTFT from 28s to 0.3s for OpenClaw on Apple Silicon. The fork supports Qwen3-Coder-Next at 65 tok/s on M3 Ultra with working function calling.

Workaround for ChatGPT Project Migration Gap: Export Scripts and Prompts
A developer created Python scripts and Claude prompts to migrate conversations from ChatGPT to Claude when ChatGPT's data export lacks project membership information. The solution extracts conversations using titles captured from the interface.