Eu tenho uma configuração similar em pequena escala, com o MySQL fornecendo virtual_domains e virtual_aliases para postfix e dovecot. Eu escrevi minha própria interface web para gerenciá-los (principalmente para que eu pudesse entregá-la a outra pessoa para manter).
Dado que você não está interessado em uma interface web, ou em uma SQL direta, a única outra alternativa em que posso pensar seriam os shell scripts.
Essencialmente, você teria que escrever seu SQL em um script (bash) para fazer certos trabalhos. Em seguida, você pode chamar os scripts apropriados para adicionar, atualizar ou remover aliases / domains / users.
Algo ao longo das linhas:
#!/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 [email protected] newpass
Tenha em mente que este exemplo é muito básico e você precisa criptografar a senha usando qualquer mecanismo que estivesse usando. Você poderia facilmente expandi-lo se quisesse adicionar validação de dados para erros de digitação inevitáveis e verificações de sanidade para excluir aliases / usuários / domínios.
Eu admito, estou interessado no que outras pessoas inventam.