From cbd89e003f00a6e03d05a146338c456f26bdce6e Mon Sep 17 00:00:00 2001 From: Lars Beckers <lars.beckers@rwth-aachen.de> Date: Sun, 25 Apr 2021 23:47:04 +0200 Subject: [PATCH] postfix: ease configuration of multiple similar aliases --- postfix/defaults/main.yml | 1 + postfix/templates/aliases.j2 | 13 ++++++++++--- postfix/templates/virtual.j2 | 2 +- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/postfix/defaults/main.yml b/postfix/defaults/main.yml index 3c1adc3..1f89644 100644 --- a/postfix/defaults/main.yml +++ b/postfix/defaults/main.yml @@ -34,6 +34,7 @@ postfix_network_access: postfix_content_filter: false # or: spamassassin postfix_message_size_limit: 10240000 # 10M +postfix_aliases_rt_url: '' postfix_aliases_rt: [] # - queue: IT # url: https://rt.example.com diff --git a/postfix/templates/aliases.j2 b/postfix/templates/aliases.j2 index 1604e7c..b52c679 100644 --- a/postfix/templates/aliases.j2 +++ b/postfix/templates/aliases.j2 @@ -1,7 +1,14 @@ {% for alias in system_aliases %} -{{ alias.src }}: {{ alias.dest }} +{% if alias.src is string %} +{{ alias.src }}: {{ alias.dest if alias.dest is string else alias.dest|join(', ') }} +{% else %} +{% for src in alias.src %} +{{ src }}: {{ alias.dest if alias.dest is string else alias.dest|join(', ') }} {% endfor %} +{% endif %} +{% endfor %} + {% for alias in postfix_aliases_rt|default([]) %} -{{ alias.address|default(alias.queue|lower) }}: "|/usr/bin/rt-mailgate --queue {{ alias.queue }} --action correspond --url {{ alias.url }}" -{{ alias.address|default(alias.queue|lower) }}-comment: "|/usr/bin/rt-mailgate --queue {{ alias.queue }} --action comment --url {{ alias.url }}" +{{ alias.address|default(alias.queue|lower) }}: "|/usr/bin/rt-mailgate --queue {{ alias.queue }} --action correspond --url {{ alias.url|default(postfix_aliases_rt_url) }}" +{{ alias.address|default(alias.queue|lower) }}-comment: "|/usr/bin/rt-mailgate --queue {{ alias.queue }} --action comment --url {{ alias.url|default(postfix_aliases_rt_url) }}" {% endfor %} diff --git a/postfix/templates/virtual.j2 b/postfix/templates/virtual.j2 index ac13c8d..5f6230e 100644 --- a/postfix/templates/virtual.j2 +++ b/postfix/templates/virtual.j2 @@ -6,7 +6,7 @@ abuse@{{ domain }} {{ adminaddr }} {% for alias in virtual_aliases %} {% if alias.src is string %} -{{ alias.src }} {{ alias.dest }} +{{ alias.src }} {{ alias.dest if alias.dest is string else alias.dest|join(', ') }} {% else %} {% for src in alias.src %} {{ src }}@{{ alias.domain }} {{ alias.dest if alias.dest is string else alias.dest|join(', ') }} -- GitLab