summaryrefslogtreecommitdiff
path: root/common/mail.nix
diff options
context:
space:
mode:
Diffstat (limited to 'common/mail.nix')
-rw-r--r--common/mail.nix37
1 files changed, 37 insertions, 0 deletions
diff --git a/common/mail.nix b/common/mail.nix
new file mode 100644
index 0000000..fce389c
--- /dev/null
+++ b/common/mail.nix
@@ -0,0 +1,37 @@
+{config, ...}: let
+ domainFqdn = config.customOps.domain.fqdn;
+ domainName = config.customOps.domain.name;
+ domainTld = config.customOps.domain.tld;
+in {
+ customOps.mailAccounts = {
+ "domain@${domainFqdn}" = {
+ passwdFile = "mailserver/domain";
+ aliases = [
+ "dmarc@${domainFqdn}"
+ "rua@${domainFqdn}"
+ "ruf@${domainFqdn}"
+ "caa@${domainFqdn}"
+ "tls@${domainFqdn}"
+ ];
+ };
+ "root@${domainFqdn}" = {
+ passwdFile = "mailserver/root";
+ aliases = [
+ "postmaster@${domainFqdn}"
+ "security@${domainFqdn}"
+ "abuse@${domainFqdn}"
+ "webmaster@${domainFqdn}"
+ "info@${domainFqdn}"
+ "support@${domainFqdn}"
+ ];
+ aliasesRegex = [
+ "/^admin\\..*@${domainName}\\.${domainTld}$/"
+ ];
+ };
+ "contact@${domainFqdn}" = {
+ passwdFile = "mailserver/contact";
+ aliases = ["@${domainFqdn}"];
+ catchAll = [domainFqdn];
+ };
+ };
+}