For the complete documentation index, see llms-docs.txt or the site index llms.txt. Full docs corpus: llms-full-docs.txt. Prefer the markdown version of this page at /docs/setup/backend/smtp.md. Product capabilities: skill.md. Docs MCP: /docs/mcp. Site MCP: /mcp.

SMTP

Set up and run the Reloop outbound SMTP engine locally in Docker.

Outbound KumoMTA engine — accepts mail from mail and delivers via SMTP (Mailpit locally).

Run bun setup or bun docker:up from the monorepo root. SMTP needs free ports 465 / 587.

Overview

PropertyValue
Directoryapps/backend/smtp
Docker servicesmtp (container reloop-smtp)
SMTP ports465, 587, 2025, 2465, 2587
HTTP port8020
StackKumoMTA · Lua

Quick start

bun docker:up

View captured mail at http://localhost:8025 (Mailpit).

Configuration

Key variables in local/docker-compose.yml:

VariableDefault
BASE_URLhttps://local.reloop.sh
NATS_URLreloop-nats:4222

Commands

CommandDescription
bun docker:upStart full Docker stack (includes SMTP)
docker compose -f local/docker-compose.yml up -d smtpStart SMTP only
docker logs -f reloop-smtpStream logs
docker compose -f local/docker-compose.yml stop smtpStop container

Architecture

LayerDetail
SubmissionAccepts outbound mail on ports 465 / 587 / 2025 / 2465 / 2587
PoliciesLua scripts in apps/backend/smtp/policy/ handle routing and DKIM
Local deliveryCaptured by Mailpit at http://localhost:8025
InboundPort 25 MX is handled by inbound, not this service

Next

Was this page helpful?

Edit this page