MailStack
Селфхостед-почта на вашем сервере. Альтернатива Яндекс/Mail без рекламы и подписки за каждый ящик: принимать, читать и отправлять письма.
Без подписки за ящики не значит без расходов: сервер и его обслуживание остаются. Это не размещённый почтовый сервис.
Почта для обычной переписки
Делаю 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 предусмотрен отдельный режим, но он требует проверки совместимости и плана отката. Границы установки описаны в руководстве по развёртыванию.
Все проекты