> On Sat, 28 Mar 1998, Jon Morby wrote:
>
> > The transport I have currently looks like this (and doesn't take into
> > account the +)
> >
> > pipe_imap:
> > driver = pipe;
> > command = "/usr/cyrus/bin/deliver ${local_part}",
> > return_path_add,
> > return_output,
> > prefix = "",
> > user = cyrus
>
> How are you directing the address to this transport? If it is via a
> director that has got
>
> prefix = *+
>
> set, then when you get to the transport, $local_part will already
> contain everything after the prefix, and $local_part_prefix will contain
> everything before the prefix.
>
> > I've tried
> >
> > command = "/usr/cyrus/bin/deliver ${if match {$local_part} {^([^+]*)(.*)}
{-m $2 $1} ${local_part} }",
> >
> > but to no avail
>
> This looks as if it should work if $local_part contains the whole thing.
> What actually happens? What command actually gets obeyed?
Not much, it just skipped it as no match :(
I've opted for the following (currently) which works as far as I need ....
/* transport*/
pipe_imap:
driver = pipe;
command = "/usr/cyrus/bin/deliver \
-m ${substr_1:$local_part_suffix} -a ${local_part} -- ${local_part}"
return_path_add,
return_output,
prefix = "",
user = cyrus
group = mail
suffix =
/* director */
imap_users:
domains = "imap4.wms.co.uk:imap4.fidouk.org"
driver = smartuser
suffix = +*
suffix_optional
transport = pipe_imap
The reason behind using smartuser is that I want the MTA to accept mail
for anyone on that domain (the users aren't in /etc/passwd - they're in
radius), and let deliver accept/reject the mail.
--
Jon Morby mail: jon@???
Fidonet/Internet Gateway http: www.fido.net
--
*** Exim information can be found at
http://www.exim.org/ ***