Hi,
It l
> routingfri+test@???
> ------- global_aliases router -------
> local_part=fri+test domain=hrz.tu-chemnitz.de
> stripped suffix +test
> calling global_aliases router
> rda_interpret (string): '${lookup{$local_part@$domain}dbm{/path/aliases}}'
> expanded: 'fri@???'
> file is not a filter file
> parse_forward_list:fri@???
> extract item:fri@???
> global_aliases router generatedfri@???
> errors_to=NULL transport=NULL
> uid=unset gid=unset home=NULL
> routed by global_aliases router
> envelope to:fri+test@???
> transport: <none>
It looks like the suffix gets stripped off here:
"generatedfri@???"
> ------- local_user router -------
> local_part=fri domain=mailbox.hrz.tu-chemnitz.de
> checking domains
> calling local_user router
> local_user router called forfri@???
> domain = mailbox.hrz.tu-chemnitz.de
> set transport lmtp
> queued for lmtp transport: local_part = fri
> domain = mailbox.hrz.tu-chemnitz.de
> errors_to=NULL
> domain_data=mailbox.hrz.tu-chemnitz.de local_part_data=NULL
> routed by local_user router
> envelope to:fri@???
> transport: lmtp
> fri@???
> <--fri+test@???
> router = local_user, transport = lmtp
Then that resolved alias, without the suffix ends up getting routed by the
local_router.
...so perhaps you need to find a way to graft it back on to what the
global_aliases router returns.
I think that the wildcard match can be found in $local_part_suffix_v so
perhaps it's a case of doing the work in the "data =
${lookup{$local_part@$domain}dbm{DBM/aliases}}" part of global_aliases?
Alternatively, you could consider a global sieve script in Cyrus, but I
think that's only executed when users do not have their own sieve scripts.
Best wishes,
@ndy
--
andyjpb@???
http://www.ashurst.eu.org/
0x7EBA75FF