add mailman-check cronjob
[ansible.git] / roles / postfix / files / mailman-check
diff --git a/roles/postfix/files/mailman-check b/roles/postfix/files/mailman-check
new file mode 100755 (executable)
index 0000000..595b28c
--- /dev/null
@@ -0,0 +1,20 @@
+#!/bin/bash
+set -e
+## Usage:
+##   ./mailman-check
+## Checks all the mailman lists for bad configuration, and prints further details if it finds one.
+
+if ! test -d /var/lib/mailman; then
+    # nothing to do
+    exit 0
+fi
+
+cd /var/lib/mailman/lists
+for list in *; do
+    /usr/sbin/config_list  -i /dev/stdin "$list" <<EOF
+if not ((mlist.dmarc_moderation_action in (1, 2) and mlist.dmarc_quarantine_moderation_action == 1) or mlist.from_is_list in (1, 2)):
+    print "List",mlist.real_name,"by",(', '.join(mlist.owner)),"is not configured to deal with DMARC."
+if mlist.reply_goes_to_list != 0 and not mlist.first_strip_reply_to:
+    print "List",mlist.real_name,"by",(', '.join(mlist.owner)),"provides an inconsistent Reply-To treatment."
+EOF
+done