[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Exim setup -- Using a pipe with virtual_aliases



I didn't get any response on the Exim list so perhaps someone can help
here.  Perhaps I'm not being clear enough?

This is on a Woody machine.

I'm trying to setup individual alias files for virtual domains.  I'd also
like to allow a few individuals that have accounts on the machine to
update their own alias files.  

Plus, I'm looking for a way so that sending to an address can trigger an
update of the alias file.  For example, mail sent to
alias_update@hosteddomain.com might run a program to fetch an updated
alias file from a remote location.

(Thanks to goggle (really a debian-list post) 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@hank.org




Reply to: