Re: [Exim] Pipes in alias lists

Top Page
Delete this message
Reply to this message
Author: John Jetmore
Date:  
To: moseley
CC: exim-users
Subject: Re: [Exim] Pipes in alias lists
On Sat, 26 Apr 2003 moseley@??? wrote:

> I'm trying this question again -- perhaps my original question was too
> verbose or too simple or too RTFM?
>
> I have per-domain alias lists, and I'd like to have pipe commands
> run the command as a specific user based on the domain name.
>
> The current need for this is so an alias list can contain an address that
> runs a command to update the domain's alias file.
>
> I tried adding a "user" setting to the virtual_aliases director but received
>
> 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


It sounds like you have a problem w/ the user itself rather than the mail
config, but in the interest of giving you a reference point, here's how I
accomplish the same task:

mx_aliases:
  driver = redirect
  domains = dbmnz;EXIMD/mx.domains.db
  allow_defer
  allow_fail
  directory_transport = address_directory
  file_transport      = address_file
  pipe_transport      = address_pipe
  retry_use_local_part
  user = ${extract{3}{:}{$domain_data}}
  data = ${lookup{$local_part}dbmnz*{${extract{2}{:}{$domain_data}}}}


The data line might be a little off, I altered it after copying to
simplify it. basically, somains are required to be in mx.domains.db,
which looks like this:

domain.com:<reserved>:<aliasfile>:<user>[:...]

So the data gets stored in $domain_data and is used in user= and data=
lines.

If this doesn't help, post debug and the configs.

--John