User Management - SomethingWithHorizons/mailserver GitHub Wiki
Domains
Add
INSERT INTO `mailserver`.`domains`
SET `name` = 'example.org';
Update
UPDATE `mailserver`.`domains`
SET `name` = 'example.com' WHERE `name` = 'example.org';
:warning: All users addresses will be updated as well. Please check the
aliasestable manually.
Remove
DELETE FROM `mailserver`.`domains`
WHERE `name` = 'example.org';
:warning: All users and aliases linked to that domain will also be deleted!
List
SELECT * FROM `mailserver`.`domains`;
Users
Add
- Create a password hash for user
doveadm pw -s SHA512-CRYPT - Add user to database
INSERT INTO `mailserver`.`users` SET `domain` = 'example.org', `username` = 'john.doe', `password` = '<generated hash>';
Update password
UPDATE `mailserver`.`users`
SET `password` = '<generated hash>' WHERE `domain` = 'example.org' AND `username` = 'john.doe';
Remove
DELETE FROM `mailserver`.`users`
WHERE `domain` = 'example.org' AND `username` = 'john.doe';
List
SELECT * FROM `mailserver`.`users`;
Aliases
Add
INSERT INTO `mailserver`.`aliases`
SET `domain` = 'example.org', `source` = '[email protected]', `destination` = '[email protected]';
:information_source: In order to add a catch all alias:
INSERT INTO `mailserver`.`aliases` SET `domain` = 'example.org', `source` = '@example.org', `destination` = '[email protected]';
Update
UPDATE `mailserver`.`aliases`
SET `target` = '[email protected]' WHERE `domain` = 'example.org' AND `source` = '[email protected]';
Remove
DELETE FROM `mailserver`.`aliases`
WHERE `domain` = 'example.org' AND `source` = '[email protected]';
List
SELECT * FROM `mailserver`.`aliases`;