reloopsh/be-email

By reloopsh

Updated about 13 hours ago

Transactional email dispatch service for Reloop — NATS-driven sending via KumoMTA integration.

Image
Web servers
0

1.6K

reloopsh/be-email repository overview

✉️ Reloop — Email Service

The Email Service is the transactional email dispatch microservice in the Reloop platform. It listens for email send events from the internal NATS message bus and dispatches them through the platform's sending infrastructure. It acts as the bridge between application-level email triggers and the underlying mail transport layer.

Built on Bun + Elysia, backed by Redis and NATS.


🚀 Features

  • Event-driven Dispatch — Subscribes to NATS events and sends emails automatically
  • Platform Integration — Uses Reloop API Key and sender domain for authenticated sending
  • Transactional Sending — Optimized for reliable single-recipient transactional email
  • Redis-backed — Rate limiting and deduplication via Redis
  • OpenAPI Docs — Auto-generated spec at /api/email/openapi
  • NATS Bus — Fully event-driven, triggered by the Reloop message bus

ResourceLink
📚 Documentationreloop.sh/docs/setup/backend/email
🌐 Production APIapi.reloop.sh/api/email
📜 OpenAPI Specreloop.sh/api/email/openapi
🐙 Source Codegithub.com/reloop-labs/reloop
💬 Discorddiscord.gg/reloop
🐦 Twitter / X@reloophq
🆘 Supportreloop.sh/support

⚡ Quick Start

docker pull reloopsh/be-email:latest

docker run -d \
  -p 8022:8022 \
  -e REDIS_URL=redis://:password@host:6379 \
  -e NATS_URL=nats://host:4222 \
  -e BASE_URL=https://your-domain.com \
  -e RELOOP_API_KEY=your-reloop-api-key \
  -e RELOOP_SENDER_DOMAIN=mail.your-domain.com \
  reloopsh/be-email:latest

The service will be available at http://localhost:8022/api/email.


🔧 Environment Variables

VariableDefaultDescription
EMAIL_PORT8022Port the server listens on
NATS_URLNATS messaging server URL
REDIS_URLRedis connection string
BASE_URLPublic base URL of the platform
RELOOP_API_KEYAPI key used to authenticate sending requests
RELOOP_SENDER_DOMAINVerified sending domain for outbound email
NODE_ENVproductionRuntime environment

🛠 Tech Stack

  • Runtime: Bun
  • Framework: Elysia
  • Cache: Redis
  • Messaging: NATS
  • Transport: KumoMTA (via reloopsh/be-kumomta)

📦 Part of the Reloop Platform

This image is one of several microservices that make up the Reloop backend. See the full list at hub.docker.com/u/reloopsh.

Tag summary

Content type

Image

Digest

sha256:ce115f1a0

Size

298.3 MB

Last updated

about 13 hours ago

docker pull reloopsh/be-email