From f26819b04927a14f4a1330901662f646248789eb Mon Sep 17 00:00:00 2001
From: Hinrikus Wolf <mail@hinrikus-wolf.de>
Date: Sun, 21 Jul 2019 12:21:47 +0200
Subject: [PATCH] postfix: add rt4mailgate support

---
 postfix/defaults/main.yml    | 5 +++++
 postfix/tasks/main.yml       | 9 +++++++++
 postfix/templates/aliases.j2 | 4 ++++
 3 files changed, 18 insertions(+)

diff --git a/postfix/defaults/main.yml b/postfix/defaults/main.yml
index bf3b041..61b9fa8 100644
--- a/postfix/defaults/main.yml
+++ b/postfix/defaults/main.yml
@@ -26,3 +26,8 @@ postfix_network_access:
   - cidr: 134.130.5.32/27  # rwth
     action: permit
 postfix_content_filter: false  # or: spamassassin
+
+postfix_aliases_rt: []
+#  - queue: IT
+#    url: https://rt.example.com
+#    address: it
diff --git a/postfix/tasks/main.yml b/postfix/tasks/main.yml
index 3f19f47..033b957 100644
--- a/postfix/tasks/main.yml
+++ b/postfix/tasks/main.yml
@@ -78,6 +78,15 @@
     - postfix
     - mail
 
+- name: install rt-mailgate if needed
+  apt:
+    name: rt4-clients
+    state: present
+  when: postfix_aliases_rt|bool
+  tags:
+    - postfix
+    - mail
+
 - name: ensure system alias database is present
   template:
     src: aliases.j2
diff --git a/postfix/templates/aliases.j2 b/postfix/templates/aliases.j2
index 90ef766..1604e7c 100644
--- a/postfix/templates/aliases.j2
+++ b/postfix/templates/aliases.j2
@@ -1,3 +1,7 @@
 {% for alias in system_aliases %}
 {{ alias.src }}: {{ alias.dest }}
 {% 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 }}"
+{% endfor %}
-- 
GitLab