David W. Tamkin writes:
This is something I've always wondered about but never had the means to see
for myself, as I've always invoked procmail from .forward and never been on
a site where it was the LDA.
If procmail is the LDA, it reads /etc/procmailrc if it exists; drops
privileges if it hasn't already been told to; then reads
/etc/procmailrcs/$LOGNAME if that exists; and finally reads the recipient's
$HOME/.procmailrc if it exists or delivers to the user's $ORGMAIL if it
doesn't. Yes? (I guess it doesn't exactly drop privs at that point ... it
changes to those of the owner of /etc/procmailrcs/$LOGNAME and then, unless
told to do so sooner, drops them totally before reading $HOME/.procmailrc.)
Now, where does $HOME/.forward fit into this? If the user has no .procmailrc
but does have a .forward, does procmail as LDA pay any attention to it?
I can't back this up by quoting the corresponding parts of the sendmail
source, but I would think that .forward is expanded by the MTA before the
LDA is invoked. Seems the most logical explanation to me: all delivery
issues must/should be resolved before delivery takes place, and Mlocal
is only one of several possible mailers.
(Actually, grepping the procmail source for ".forward" reveals only
one occurrence: in manconf.c, the man page transmogrifyer.)