LanQin Email: самораспускаемая почтовая система с веб-интерфейсом
LanQin Email — это самораспускаемая почтовая система с современным веб-интерфейсом и управленческой панелью. Она предлагает множество функций, включая поддержку нескольких доменов, внешнего IMAP, совместный доступ к почте и гибкую настройку прав пользователей, что делает её хорошим решением для небольших команд и организаций.
Проект построен на Go, SQLite, React и TypeScript, и установка выполняется через Docker в виде одного контейнера. Это упрощает развертывание, поскольку все компоненты, включая API, Nginx, Postfix и Dovecot, интегрированы в одном пакете. Но стоит заметить, что для полноценной работы системы нужно будет иметь определенные навыки в администрировании и управлении сервером.
Некоторыми из ограничений являются отсутствие информации о поддержке Windows и другие ОС, не упоминается поддержка коммерческого использования, а языки интерфейса ограничены китайским, английским и упрощенным китайским. Если ищешь простое и эффективное решение для управления почтой, LanQin Email может подойти как альтернатива более громоздким и популярным системам.
Проект LanQin Email представляет собой саморазворачиваемое веб-приложение для работы с электронной почтой. Он включает в себя как фронтенд, разработанный с использованием React и TypeScript, так и бэкенд на Go с использованием SQLite. Основной задачей проекта является создание полноценного веб-клиента для работы с электронной почтой с интеграцией различных решений для почтового сервиса, таких как Nginx, Postfix, Dovecot и Rspamd, в одном контейнере Docker.
Возможности
- Клиент веб почты: поддержка нескольких почтовых ящиков, создание папок, чтение и написание сообщений, сохранение черновиков, планирование отправки, работа с вложениями, поиск, метки, возможность пометить сообщения как прочитанные/непрочитанные.
- Расширенные возможности почты: управление контактами, подписями, правилами для почтового ящика, черным списком отправителей, статистика по почте, архивирование прочитанных сообщений и очистка корзины/спама.
- Поддержка нескольких доменов: управление доменами, генерация DKIM ключей, управление учетными записями и псевдонимами адресов.
- Управление аккаунтами: возможность входа по электронной почте и паролю, поддержка OAuth2 SSO, управление сессиями и многофакторная аутентификация.
- Административная панель: управление пользователями, группами прав, почтовыми ящиками и доменами, настройки системы, тестирование SMTP.
- Архитектура почтового сервиса: интеграция Postfix, Dovecot и Rspamd для отправки и получения почты.
Установка и запуск
Для начальной установки проекта доступны два основных способа: локальная разработка и развертывание через Docker.
Локальная разработка
Чтобы запустить приложение локально, нужно выполнить следующие команды:
cd apps/api
go mod download
go test ./...
go run ./cmd/server
Фронтенд запускается в новом терминале:
cd apps/web
corepack enable
corepack prepare pnpm@10.28.2 --activate
pnpm install
pnpm run dev
После этого веб-приложение будет доступно по адресу http://localhost:5173, а API — по http://localhost:8080.
Развертывание с помощью Docker
Для развертывания с использованием Docker достаточно выполнить следующие команды:
cd deploy
cp .env.example .env
# Отредактируй .env: укажи домен, публичный URL, администраторский email и пароль
docker compose pull
docker compose up -d
Ограничения
Для публичной отправки и получения почты необходимо правильно настроить записи MX, SPF, DKIM и DMARC для домена. Кроме того, важно проверить, что ваш облачный провайдер не блокирует SMTP-порты 25, 465, 587, 993 и 995.
SQLite подходит для однопользовательских развертываний. При переходе на многопользовательскую архитектуру необходимо будет мигрировать базу данных и соответственно настроить Postfix/Dovecot.
Заключение
LanQin Email предоставляет обширные возможности для управления электронной почтой, включая поддержку нескольких доменов и детальную настройку прав доступа. Он ориентирован на пользователей и администраторов, которым необходимо иметь полный контроль над своей почтовой системой. Если тебе интересно саморазворачиваемое решение для работы с почтой, LanQin Email может стать отличным вариантом.
Открыть на GitHub: LanQin996/LanQin-Email →
RepoRadar