On Mon, Jul 28, 2003 at 10:31:13PM -0400, Dragoncrest wrote:
Where does procmail stand in the mail chain? Say for instance I
pull in mail using fetchmail and I have procmail setup as my MTA.
Once fetch has it, where does it go from there and where does
procmail stand in that chain? I think I know, but I wanted to ask
to be certain.
Procmail is a local delivery agent (LDA), not a Mail Transfer Agent
(MTA: e.g., sendmail, qmail, etc. Fetchmail can act as an MTA
sometimes). Most MTAs also act as MDAs (mail delivery agent) for mail
destined to be delivered to this server.
The chain depends on how you have your MDA/MTA configured (i.e., where
you've told it to give the mail to procmail). In the most common case
(taking a typical sendmail setup), the MTA receives the mail, checks
to see if local delivery is going to happen (virtusertables are
checked, then aliases and .forward files are checked). Once the MDA
has determined that the mail message is destined to be delivered
locally, it is handed off to the LDA (in our case, procmail).
The LDA is in charge of taking messages and appending them to files,
piping them through a shell, or failing them (and letting the MTA
return an error code).
As I said before, though, there are as many different ways to put
procmail in your chain as there are system administrators. Even the
procmail manpage gives an example of using procmail during sendmail's
ruleset 0 (alias lookup) to route _all_ incoming mail through procmail
(not just mail destined to be delivered on the box).
In fetchmail's case, it is usually configured to deliver the mail to
the MDA (e.g., sendmail), which if the mail is destined locally, will
give it to procmail after virtusertables and alias/.forward lookups.
procmail mailing list