SMTP
Set up and run the Reloop outbound SMTP engine locally in Docker.
Complete Base Setup First
Ensure you've finished the Setup and have Docker Desktop running.
Service Overview
Outbound KumoMTA engine — accepts mail from mail and delivers via SMTP (Mailpit locally).
| Property | Value |
|---|---|
| Directory | apps/backend/smtp |
| Docker service | smtp (container reloop-smtp) |
| SMTP ports | 587, 2025 |
| HTTP port | 8020 |
| Stack | KumoMTA Lua |
Quick Start
Starts with the full Docker stack:
bun docker:up
Or start only SMTP + Mailpit from local/:
cd local && docker compose up -d smtp reloop-mailpit
Configuration
Key variables in local/docker-compose.yml:
| Variable | Default |
|---|---|
BASE_URL | https://local.reloop.sh |
NATS_URL | reloop-nats:4222 |
Container Commands
| Command | Description |
|---|---|
docker compose up -d smtp | Start SMTP container |
docker logs -f reloop-smtp | Stream logs |
docker compose stop smtp | Stop container |
Architecture
| Layer | Detail |
|---|---|
| Submission | Accepts outbound mail on ports 587/2025 from the mail service. |
| Policies | Lua scripts in apps/backend/smtp/policy/ handle routing and DKIM. |
| Local delivery | Captured by Mailpit at http://localhost:8025. |
| Inbound | Port 25 MX is handled by inbound, not this service. |
Was this page helpful?