46a643f823
The mailman verp router handles remote addresses like dnslookup. It needs to run before dnslookup in order to be effective, so run it first. It's only for outgoing messages, not incoming, so won't affect the blackhole aliases we have for incoming fake bounce messages. Note that the verp router hasn't been used in about a year due to this oversight, so we should merge this change with caution. Change-Id: I7d2a0f05f82485a54c1e7048f09b4edf6e0f0612
79 lines
3.0 KiB
YAML
79 lines
3.0 KiB
YAML
mm_domains: 'lists.openstack.org:lists.zuul-ci.org:lists.airshipit.org:lists.starlingx.io'
|
|
exim_local_domains: "@:{{ mm_domains }}"
|
|
exim_aliases:
|
|
root: "{{ ','.join(listadmins|default([])) }}"
|
|
ambassadors-owner: spam
|
|
community-owner: spam
|
|
foundation-board-confidential-owner: spam
|
|
foundation-board-owner: spam
|
|
foundation-owner: spam
|
|
legal-discuss-owner: spam
|
|
mailman-owner: spam
|
|
marketing-owner: spam
|
|
openstack-announce-owner: spam
|
|
openstack-dev-owner: spam
|
|
openstack-docs-owner: spam
|
|
openstack-fr-owner: spam
|
|
openstack-i18n-owner: spam
|
|
openstack-infra-owner: spam
|
|
openstack-operators-owner: spam
|
|
openstack-owner: spam
|
|
openstack-qa-owner: spam
|
|
openstack-security-owner: spam
|
|
openstack-tc-owner: spam
|
|
openstack-vi-owner: spam
|
|
product-wg-owner: spam
|
|
superuser-owner: spam
|
|
user-committee-owner: spam
|
|
women-of-openstack-owner: spam
|
|
spam: ':fail: delivery temporarily disabled due to ongoing spam flood'
|
|
exim_routers:
|
|
- mailman_verp_router: |
|
|
{% raw -%}
|
|
driver = dnslookup
|
|
condition = ${if or{{eq{$sender_host_address}{127.0.0.1}}\
|
|
{eq{$sender_host_address}{::1}}}{yes}{no}}
|
|
{% endraw %}
|
|
domains = !+local_domains
|
|
ignore_target_hosts = <; 0.0.0.0; \
|
|
64.94.110.11; \
|
|
127.0.0.0/8; \
|
|
::1/128;fe80::/10;fe \
|
|
c0::/10;ff00::/8
|
|
senders = "*-bounces@*"
|
|
transport = mailman_verp_smtp
|
|
- dnslookup: '{{ exim_dnslookup_router }}'
|
|
- system_aliases: '{{ exim_system_aliases_router }}'
|
|
- localuser: '{{ exim_localuser_router }}'
|
|
- mailman_router: |
|
|
driver = accept
|
|
domains = {{ mm_domains }}
|
|
local_part_suffix = -admin : \
|
|
-bounces : -bounces+* : \
|
|
-confirm : -confirm+* : \
|
|
-join : -leave : \
|
|
-owner : -request : \
|
|
-subscribe : -unsubscribe
|
|
local_part_suffix_optional
|
|
require_files = ${lookup{${lc::$domain}}lsearch{/etc/mailman/sites}}/lists/${lc::$local_part}/config.pck
|
|
transport = mailman_transport
|
|
exim_transports:
|
|
- mailman_transport: |
|
|
driver = pipe
|
|
command = /var/lib/mailman/mail/mailman \
|
|
'${if def:local_part_suffix \
|
|
{${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} \
|
|
{post}}' \
|
|
$local_part
|
|
current_directory = /var/lib/mailman
|
|
environment = MAILMAN_SITE_DIR=${lookup{${lc:$domain}}lsearch{/etc/mailman/sites}}
|
|
group = list
|
|
home_directory = /var/lib/mailman
|
|
user = list
|
|
- mailman_verp_smtp: |
|
|
driver = smtp
|
|
headers_add = Errors-To: ${return_path}
|
|
headers_remove = Errors-To
|
|
max_rcpt = 1
|
|
return_path = ${local_part:$return_path}+$local_part=$domain@${domain:$return_path}
|