You switched examples in your mail.
Given an aliases file like

a1: local!a2
a3: local!a1

and a rewrite file like

[...@.]+                        translate       "/bin/upas/aliasmail '&'"
local!(.*)              >>              /mail/box/\1/mbox

I expect an attempt to mail a1 to deliver to /mail/box/a2/mbox
or else fail if that file does not exist.  Similarly,
I expect an attempt to mail a3 to deliver to /mail/box/a1/mbox
or else fail if that file does not exist.
"Attempt to mail" means any attempt at mail.

Local is *not* analogous to builtin in rc.
Rc's builtin has special meaning to rc.
Local has no special meaning at all to upas;
the rules apply to local!a1 the same as they
do to any other string; there's just a rule that
handles local!(.*).

Because you switched names halfway through
you didn't say what was working and what was not.
In terms of the above two lines, what is it that
is behaving a different way than you expect?

Are you sure that your own $mail/aliases
file is not also in play when your run plain "mail"
as opposed to "upas/send -x"?

Russ

Reply via email to