Mox + Next.js

MailStack

Селфхостед-почта на вашем сервере. Альтернатива Яндекс/Mail без рекламы и подписки за каждый ящик: принимать, читать и отправлять письма.

Без подписки за ящики не значит без расходов: сервер и его обслуживание остаются. Это не размещённый почтовый сервис.

Схема MailStack: интерфейс почты и управления на Next.js связан с почтовым сервером Mox
Схема устройства MailStack, а не снимок рабочего почтового сервера.

Почта для обычной переписки

Делаю MailStack как селфхостед-решение для работы с почтой. Не замена корпоративному комбайну, а альтернатива почте Яндекса и Mail для обычной переписки: без рекламы и подписки за каждый ящик. Просто принимать, читать и отправлять письма на своём домене.

Сделал человеческий веб-интерфейс на Next.js: папки, поиск, чтение и создание писем, ответы, пересылка, черновики и вложения. Отдельная панель администратора позволяет управлять доменами и ящиками, смотреть очередь доставки и диагностику.

Как это устроено

В основе — почтовый сервер Mox, не моя разработка. Он хранит письма, папки и учётные записи и отвечает за доставку. Моё приложение на Next.js даёт интерфейс почты и управления и работает серверным шлюзом: браузер не обращается к внутренним API Mox напрямую. Отдельную базу с копиями писем MailStack не создаёт.

Исходный код, контроллер установки и документацию публикую в открытом репозитории MailStack. Собственный код проекта распространяется по MIT; у Mox и других компонентов сохраняются свои лицензии, перечисленные в уведомлениях о сторонних компонентах.

Приватная версия с антиспамом

Отдельно развиваю приватную версию с серверным антиспамом. Её устанавливаю своим клиентам на их серверы для работы с почтой.

Эта версия не опубликована: серверный антиспам из приватной разработки не входит в открытый репозиторий по ссылке выше.

Как познакомиться

Для локального знакомства в README описан запуск ./mailstack dev. Нужны Python 3.12+, Docker Engine с Compose v2 и BuildKit и свободный локальный порт. Стенд использует синтетические письма, не настраивает публичный DNS и не отправляет почту внешним адресатам.

Порядок запуска и требования собраны в русском README.

Перед установкой на сервер

Нужны Linux-сервер, домен, настройки DNS и TLS, внешние резервные копии и обслуживание. Исходный код не требует подписки за ящики, но сервер и его обслуживание нужно оплачивать или обеспечивать самостоятельно.

После установки проверяю приём и отправку писем и восстановление из резервной копии. Доставляемость зависит от настройки сервера, DNS, репутации IP и правил принимающей стороны; обещать попадание любого письма во входящие нельзя. Локальная сборка и CI эти проверки не заменяют.

Для подключения к уже работающему Mox предусмотрен отдельный режим, но он требует проверки совместимости и плана отката. Границы установки описаны в руководстве по развёртыванию.

Все проекты