Remove accounts.<name>.aliases and rename extraVirtualAliases to virtualAccountAliases
Some checks failed
Test / tests (push) Failing after 3m0s

In order to simplify configuration and reduce configuration variability,
this commit removes the option to directly add aliases to each single
mail account. Instead, aliaes should be centrally configured using the
option 'virtualAccountAliases'.
This commit is contained in:
Thomas Preisner 2025-01-06 23:29:40 +01:00
parent 28796695af
commit faf6f549b0
3 changed files with 15 additions and 53 deletions

View file

@ -1,5 +1,6 @@
{pkgs, ...}:
with (import ./common/lib.nix {inherit pkgs;}); let
lib = pkgs.lib;
accounts = {
"normal" = {
address = "user1@example.com";
@ -11,32 +12,23 @@ with (import ./common/lib.nix {inherit pkgs;}); let
};
"alias" = {
address = "user3@example.com";
aliases = ["alias@example.com"];
password = "secret-password3";
};
"extra-alias" = {
address = "user4@example.com";
password = "secret-password4;";
};
"multi-alias1" = {
address = "multi-alias1@example.com";
aliases = ["multi-alias@example.com"];
password = "secret-password5;";
password = "secret-password4;";
};
"multi-alias2" = {
address = "multi-alias2@example.com";
aliases = ["multi-alias@example.com"];
password = "secret-password6;";
password = "secret-password5;";
};
"catchall" = {
address = "catchall@example.com";
aliases = ["@example.com"];
password = "secret-password7;";
password = "secret-password6;";
};
"otherdomain" = {
address = "otherdomain@example.com";
aliases = ["user@otherdomain.com"];
password = "secret-password8;";
password = "secret-password7;";
};
};
in
@ -53,8 +45,11 @@ in
virtualDomainAliases = {
"aliased.com" = "example.com";
};
extraVirtualAliases = {
"extra-alias@example.com" = accounts."extra-alias".address;
virtualAccountAliases = {
"alias@example.com" = accounts."alias".address;
"multi-alias@example.com" = lib.map (x: accounts.${x}.address) ["multi-alias1" "multi-alias2"];
"@example.com" = accounts."catchall".address;
"user@otherdomain.com" = accounts."otherdomain".address;
};
};
};
@ -182,18 +177,6 @@ in
# fetchmail returns EXIT_CODE 0 when it retrieves mail
client.succeed("${recvMail "otherdomain"} >&2")
with subtest("mail incoming on extraVirtualAlias"):
client.succeed("${sendMail "normal" "" "extra-alias@example.com" ''
Subject: extraVirtualAliases-Test
Hello User4,
this is mail is sent to you by using an extraVirtualAlias as recipient.
''}")
server.wait_until_fails('${pendingPostqueue}')
client.execute("${cleanupMail}")
# fetchmail returns EXIT_CODE 0 when it retrieves mail
client.succeed("${recvMail "extra-alias"} >&2")
with subtest("receiving mail on aliased domain using normal account"):
client.succeed("${sendMail "normal" "" "user2@aliased.com" ''
Subject: aliasedDomain with normal account