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.