Почтовый сервер Лаборатории МБК
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
root 654ba3c604 Верные зависимости 5 days ago
mailstoragePlugins/maildirMailstorage Верные зависимости 5 days ago
miscPlugins/sslTlsMisc Верные зависимости 5 days ago
settingsDbPlugins/sqliteSettingDB Верные зависимости 5 days ago
smtpQueuePlugins/sqliteFilesSmtpQueue Верные зависимости 5 days ago
tegu Верные зависимости 5 days ago
userDBPlugins/jsonfileUserDB Верные зависимости 5 days ago
.gitignore реализация хранения параметров 1 year ago
LICENSE Initial commit 1 year ago
README.md Обновление описания 2 months ago

README.md

Тегу

Почтовый сервер Лаборатории МБК

Система написана на языке Go (сервер SMTP, сервер IMAP, WEB панель администрирования).

Список воплощённых функций:

  • Собственная реализация сервера SMTP
  • Собственная реализация сервера IMAP
  • Доставка писем на сторонний сервер по протоколу LMTP (например, Dovecot) или доставка в собственное хранилище maildir
  • WEB панель администрирования
  • Локальная база пользователей, групп, перенаправлений
  • Поддержка псевдонимов почтовых ящиков, списков перенаправления (списки рассылки), почтовых групп (группы с адресом email позволяют доставить письмо всем их членам), вложенности почтовых групп
  • Содержание неограниченного количества почтовых доменов Для каждого домена может быть подключена одна и более БД пользователей и групп
  • Мастер-пользователи почты (те кто имеют доступ ко всем ящикам) определяются членством в группе
  • Поддержка квоты размера ящика IMAP
  • Поддержка белых и чёрных списков отправителей для входящих писем
  • Поддержка проверки SPF
  • Поддержка технологии GreyList (временный отказ незнакомому отправителю) Данная технология срезает до 80% нежелательной корреспонденции. Возможно исключить проверку для списка доменов отправителя.
  • Поддержка DNS Black List Данная технология позволяет отказать в обслуживании отправителям, сервера которых были скомпрометированы в глобальной сети Интернет
  • Поддержка антивирусной проверки. Сетевое подключение к антивирусу по протоколу Milter.
  • Поддержка проверки на спам. Сетевое подключение к антиспаму по протоколу Milter. Количество очков спама в заголовке письма теперь можно обработать через условие правил обработки входящих писем
  • Подпись DKIM для исходящих сообщений. Управление ключами из Панели управления сервером
  • Защита от перебора пароля с баном IP (SMTP, IMAP, WEB)
  • Модульная архитектура для БД пользователей и групп, хранилищ почты, обработчика очереди сообщений

Инструкция

Установка

Скачанный архив распаковываем в любую папку (например в /opt/). Папку с версией (tegu-x.x.x) переименовывем в tegu. Чтобы можно было запускать от непривилегированного пользователя, необходимо выполнить:

setcap CAP_NET_BIND_SERVICE=+eip /opt/tegu/sbin/tegu

/opt/tegu/sbin/tegu - путь до исполняемого файла.

Во время первого запуска сервер будет искать свой файл конфигурации в следующем порядке:

  • /etc/tegu.conf
  • ~/tegu.conf

Если файл не найден, то он будет создан по пути ~/tegu.conf со следующим содержанием:

[global]
dataDir = /opt/tegu/data
pluginDir = /opt/tegu/plugins

[Log]
debug = false

[WEB]
adminPassword = admin

Можно заранее создать этот файл вручную, но важно, чтобы папка dataDir была доступна для записи пользователю, от которого запускается сервер.

Для запуска через systemd необходимо добавить файл /etc/systemd/system/tegu.service следующего содержания:

[Unit]
Description=Tegu. MBK-Lab Mail Server

[Service]
ExecStart=/opt/tegu/sbin/tegu
User=mail
Group=mail
UMask=0007
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

В User и Group указываем системные пользователя и группу, от которых планируется запуск сервера. Устанавливаем права на каталоги:

chown -R mail. /opt/tegu/{data,certs,dkim}
chmod 750 /opt/tegu/{data,certs,dkim}

mail - пользователь, от которого запускаем сервер.

Далее необходимо включить и запустить юнит:

systemctl enable tegu.service
systemctl start tegu.service

Настройка

После установки необходимо зайти WEB-браузером на порт 8888 (например, http://127.0.0.1:8888) и авторизоваться под администратором (логин admin) с паролем, указанным в конфиге в параметре adminPassword.

В разделе Настройки необходимо указать основные настройки.

В разделе Провайдеры БД пользователей необходимо добавить подключение (или несколько) к базе пользователей, групп и перенаправлений.

В разделе Хранилища почты необходимо добавить хранилище (или несколько) почты.

В разделе Очередь SMTP необходимо настроить обработчик очереди SMTP.

После настройки необходимо перезапустить сервер. Порты SSL станут доступны, если файлы сертификата и ключа существуют и доступны для чтения по указанным в настройках путям.

Правила обработки входящих писем

Для настройки правил необходимо авторизоваться в WEB-панели под почтовой учётной записью. Каждому пользователю доступны только его правила.

Лицензия

Продукт распространяется под лицензией GPL версии 3. Ознакомиться с текстом лицензии можно по адресу:

https://www.gnu.org/licenses/gpl-3.0.ru.html