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 r...@example.org it is accepted and goes > straight to root's mbox. > No drama. > > If, however, I send mail to postmas...@example.org 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 r...@example.org: 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