Sign inSign up

reloopsh/be-email

By reloopsh

•Updated about 9 hours ago

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

Image
Web servers
0

3.8K

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_URL—NATS messaging server URL
REDIS_URL—Redis connection string
BASE_URL—Public base URL of the platform
RELOOP_API_KEY—API key used to authenticate sending requests
RELOOP_SENDER_DOMAIN—Verified 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:5241b0011…

Size

314.6 MB

Last updated

about 9 hours ago

docker pull reloopsh/be-email