Я использовал почтовые серверы Dovecot + Postfix в средних и крупных корпоративных средах, где адреса электронной почты в основном генерируются через учетные записи LDAP или передаются через какую-либо систему управления персоналом или другую. Я также использую эту комбинацию (Dovecot + Postfix) с серверной частью MariaDB на моем личном сервере, на котором находится множество проектов, небольшой бизнес члена семьи и так далее.
я не ищу помощь по установке самих Dovecot и Postfix. Я хотел бы знать, какой инструмент или инструменты другие используют в небольших установках (пожалуйста, только из командной строки) для управления доменами, почтовыми ящиками, псевдонимами и т. Д. В моей установке Postfix + Dovecot.
Раньше у меня была веб-панель управления, но я устал пытаться нагромождать безопасность яичной скорлупы вокруг чего-то, что так плохо скомпоновано. Я также не хочу вручную запрашивать БД для внесения изменений.
Меня также не беспокоят накладные расходы на миграцию ... количество доменов, почтовых ящиков и псевдонимов на этом сервере, которые должны будут перейти на его замену, находится в пределах диапазона, в который я мог бы подкупить своего подростка, чтобы он мог войти вручную, если это необходимо. ;)
Я создал набор простых сценариев bash для управления несколькими доменами, учетными записями, пользователями, псевдонимами, но он все еще не готов для публикации на GitHub. Я и пользуюсь с успехом последние 3-4 года. У меня все мои dovecot / postfix конфигурации файловые, без базы данных. Я вижу, что я не единственный, кому нужно простое и рабочее решение для командной строки?
У меня есть аналогичная небольшая установка, с MySQL, предоставляющей virtual_domains и virtual_aliases для postfix и dovecot. Я написал свой собственный веб-интерфейс для управления ими (в первую очередь, чтобы передать его кому-то другому для обслуживания).
Учитывая, что вас не интересует веб-интерфейс или прямой SQL, единственной альтернативой, о которой я могу думать, были бы сценарии оболочки.
По сути, вам придется записать свой SQL в сценарий (bash) для выполнения определенных заданий. Затем вы можете вызвать соответствующие сценарии для добавления, обновления или удаления псевдонимов / доменов / пользователей.
Что-то вроде этого:
#!/bin/bash
## updatepassword.sh <email@address> <password>
## Update the password for an email account
mysql -u root -p forge -e "UPDATE users SET password = '$2' WHERE email= '$1'";
## Tell me if it's worked or not!
if [ $? -eq 0 ]
then
echo "$1 updated"
else
echo "Couldn't update password for $1"
fi
updatepassword.sh name@example.com newpass
Имейте в виду, что этот пример очень простой, и вам нужно будет зашифровать пароль, используя любой механизм, который вы использовали. Вы можете легко расширить его, если хотите добавить проверку данных на предмет неизбежных опечаток и проверки работоспособности для удаления псевдонимов / пользователей / доменов.
Признаюсь, мне интересно, что придумывают другие.
В аналогичной настройке я постарался сделать все как можно проще. Я использую веб-интерфейс Mail Admin (0.4.1) для администрирования самих учетных записей. Что касается редактирования любого конфигурационного файла, я использую старый добрый MC. Я также ненавижу вносить изменения в базу данных для пересылки электронной почты, удаленных сообщений и тому подобного ... поэтому я также управляю ими через веб-интерфейс (RCube Webmail).
Таким образом, все управление файлами осуществляется MC, а администрирование учетных записей - веб-интерфейсам. Надеюсь, это помогло.