strange.
Quite frankly, the aliases expansion code does not work as it should
and there are many cases where it will fail expanding users as you'd
expect.
Good news is ... I rewrote it entirely and refactored various parts
of smtpd, I'm currently cleaning it up and testing before it can hit
the tree.
Gilles
On Tue, Feb 01, 2011 at 11:12:44PM +1030, David Walker wrote:
> Hi Gilles.
>
> I noticed something that might be unexpected, in the works, maybe
> worth documenting.
> Maybe all the old sendmail hands expect this. :]
>
> If I have this ...
>
> listen on external_if
>
> map "aliases" { source plain "/etc/mail/aliases" }
>
> accept from all for domain example.org alias aliases deliver to mbox
>
> ... and I use the default aliases file (with postmaster to root) and I
> send mail from outside to [email protected] it is accepted and goes
> straight to root's mbox.
> No drama.
>
> If, however, I send mail to [email protected] it gets accepted by
> smtpd but never sent to the mbox with log entries such as (handtyped):
> aliases_exist: 'postmaster' exists with 1 expansion nodes
> aliases_get: returned 1 aliases
> lka_resolve_node: node is local username: root
>
> Etcetera. So the aliasing works great. However, the ultimate log entry is:
> mta: new status for [email protected]: 110 connect error: Operation timed out
> The mail never gets to root's mbox and if I run smtpctl show queue I
> can see the messages in the queue.
>
> If I add this ...
>
> listen on lo0
>
> accept from all for local deliver to mbox
>
> ... and resend another mail to postmaster it gets to root's mbox.
>
> So for aliasing is working but once the alias is resolved smtpd
> apparently considers the mail to be part of a new transaction that
> looks for a "for local" (with "from local" as a minimum) rule.
>
> Yep, I'm not a programmer.
>
> Best wishes.
--
Gilles Chehade
freelance developer/sysadmin/consultant
http://www.poolp.org