[Exim] Using a pipe with virtual_aliases

Top Page
Delete this message
Reply to this message
Author: Bill Moseley
Date:  
To: exim-users
Subject: [Exim] Using a pipe with virtual_aliases
(Thanks to goggle) I have a director for virtual aliases:

virtual_aliases:
driver = aliasfile
domains = "partial-lsearch;/etc/exim/DOMAINS"
file_transport = address_file
pipe_transport = address_pipe
no_more
file = /etc/exim/alias_${domain_data}
search_type = "lsearch*"


So I have domain specific alias files (mapped from the DOMAINS file).

I'd like to have a pipe that could update the alias file, but I have not
been able to get it to work.

So in /etc/exim/alias_foo I might have:

update_aliases: |/etc/exim/update_foo_aliase.pl

I tried to chown the alias_foo file to "nobody" and then I set

user = nobody

But I end up getting:

D=virtual_aliases T=address_pipe: Child process of address_pipe transport
returned 69 (could mean service or program unavailable) from command:
/etc/exim/update_foo_aliases.pl

And that's where I'm stuck.

I also wonder if I could set user = ${domain_data} above so that it
attempts to only run as the user (as mapped by DOMAINS), if that user
exists, otherwise bomb. That would give me some control over what domains
can auto-update.

I'm willing to listen to better ways of doing all this, too.

Thanks,

--
Bill Moseley moseley@???