From e15d925d005f5f1381a40a1a02a16bba6fe37008 Mon Sep 17 00:00:00 2001 From: Julian Rother Date: Sun, 2 Feb 2025 02:43:05 +0100 Subject: [PATCH] Add support for alias domains --- tasks/main.yml | 2 ++ templates/postfix/main.cf.j2 | 2 +- .../postfix/pgsql/virtual_alias_domain_catchall_maps.cf.j2 | 4 ++++ templates/postfix/pgsql/virtual_alias_domain_maps.cf.j2 | 4 ++++ 4 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 templates/postfix/pgsql/virtual_alias_domain_catchall_maps.cf.j2 create mode 100644 templates/postfix/pgsql/virtual_alias_domain_maps.cf.j2 diff --git a/tasks/main.yml b/tasks/main.yml index 2c4fb3b..55b746d 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -132,6 +132,8 @@ - header_checks - pgsql/relay_domains.cf - pgsql/virtual_alias_maps.cf + - pgsql/virtual_alias_domain_maps.cf + - pgsql/virtual_alias_domain_catchall_maps.cf - pgsql/virtual_domains_maps.cf - pgsql/virtual_mailbox_maps.cf - pgsql/virtual_sender_maps.cf diff --git a/templates/postfix/main.cf.j2 b/templates/postfix/main.cf.j2 index 76147dc..4330fa3 100644 --- a/templates/postfix/main.cf.j2 +++ b/templates/postfix/main.cf.j2 @@ -73,7 +73,7 @@ smtp_tls_security_level = may # Postfixadmin and dovecot integration relay_domains = $mydestination, pgsql:/etc/postfix/pgsql/relay_domains.cf -virtual_alias_maps = pgsql:/etc/postfix/pgsql/virtual_alias_maps.cf +virtual_alias_maps = pgsql:/etc/postfix/pgsql/virtual_alias_maps.cf pgsql:/etc/postfix/pgsql/virtual_alias_domain_maps.cf pgsql:/etc/postfix/pgsql/virtual_alias_domain_catchall_maps.cf virtual_mailbox_domains = pgsql:/etc/postfix/pgsql/virtual_domains_maps.cf virtual_mailbox_maps = pgsql:/etc/postfix/pgsql/virtual_mailbox_maps.cf virtual_transport = dovecot diff --git a/templates/postfix/pgsql/virtual_alias_domain_catchall_maps.cf.j2 b/templates/postfix/pgsql/virtual_alias_domain_catchall_maps.cf.j2 new file mode 100644 index 0000000..3f369fb --- /dev/null +++ b/templates/postfix/pgsql/virtual_alias_domain_catchall_maps.cf.j2 @@ -0,0 +1,4 @@ +dbname = postfixadmin +user = postfix +hosts = unix:/var/run/postgresql +query = SELECT goto FROM alias, alias_domain WHERE alias_domain.alias_domain = '%d' and alias.address = '@' || alias_domain.target_domain AND alias.active = true AND alias_domain.active = true diff --git a/templates/postfix/pgsql/virtual_alias_domain_maps.cf.j2 b/templates/postfix/pgsql/virtual_alias_domain_maps.cf.j2 new file mode 100644 index 0000000..0871b3d --- /dev/null +++ b/templates/postfix/pgsql/virtual_alias_domain_maps.cf.j2 @@ -0,0 +1,4 @@ +dbname = postfixadmin +user = postfix +hosts = unix:/var/run/postgresql +query = SELECT goto FROM alias, alias_domain WHERE alias_domain.alias_domain = '%d' and alias.address = '%u' || '@' || alias_domain.target_domain AND alias.active = true AND alias_domain.active = true