As of Exim 4.96 it is no longer possible to rely on $local_part and $domain in received email as they are considered tained. Both the local_part and domain must be checked before they can be used and after a successful match are available de-tainted in $local_part_data and $domain_data.
My configuration uses Postgres lookups instead of aliases, YMMV.
Sympa aliases
ALIAS_LIST_DOMAINS = SELECT robot_list \
FROM list_table \
WHERE robot_list='${quote_pgsql:$domain}';
ALIAS_LIST_COMMAND_LOCAL_PARTS = \
SELECT 'sympa' \
FROM list_table \
WHERE robot_list='${quote_pgsql:$domain}';
ALIAS_LIST_LOCAL_PARTS = \
SELECT name_list \
FROM list_table \
WHERE robot_list='${quote_pgsql:$domain}' \
AND name_list='${quote_pgsql:$local_part}';
ALIAS_LIST_BOUNCE_LOCAL_PARTS = \
SELECT '${quote_pgsql:$local_part}' AS local_parts \
FROM list_table \
WHERE robot_list='${quote_pgsql:$domain}' \
AND '${quote_pgsql:$local_part}' LIKE 'bounce+%';
ALIAS_LIST_DOMAIN = SELECT count(*) \
FROM list_table \
WHERE robot_list='${quote_pgsql:$domain}';
ALIAS_SYMPA_LIST = SELECT count(*) \
FROM list_table \
WHERE robot_list='${quote_pgsql:$domain}' \
AND name_list='${quote_pgsql:$local_part}';
As of Exim 4.96 it is no longer possible to rely on $local_part and $domain in received email as they are considered tained. Both the local_part and domain must be checked before they can be used and after a successful match are available de-tainted in $local_part_data and $domain_data.
The Transport change is from:
to
My configuration uses Postgres lookups instead of aliases, YMMV.
Sympa aliases
Routers
Transports
https://www.sympa.community/manual/install/configure-mail-server-exim4.html