JLA,

> secondary question, would I be better off using LMTP rather than SMTP
> for the amavisd.

With more recent versions of Postfix (2.3?) the lmtp and smtp clients
share common code, so there isn't much difference in their behaviour
regarding connection caching and persistency of connection, so either
one will do. In the past the lmtp client was more persistent in
keeping the session open, so on reaching the $max_requests limit
of transactions amavisd would drop the session, which was a bit
disruptive to Postfix in resuming with a new connection.
See Postfix lmtp_connection_cache* and related options.

Functionally, the difference only shows when some (but not all) of the
recipients would tempfail on forwarding mail from amavisd back to Postfix.
With LMTP the status would be propagated back individually for each
recipient, so only the tempfailed recipients would stay in a queue
and the rest would be delivered or dropped. With SMTP, amavisd would
have no other choice but to tempfail the entire message.

There is no difference between SMTP and LMTP when amavisd would
pass some recipients but block the rest, with D_PASS, D_DISCARD or
D_BOUNCE settings - only D_REJECT would make a difference, but that
is not a setting to be used in a post-queue filtering setup.

In practice tempfailing on re-entry rarely if ever happens: checks
on recipient validity should be done by MTA before mail reaches
a content filter, so a chance that some-but-not-all recipients
would be tempfailed by a re-entry smtpd service are unlikely.

Historically we preferred lmtp initially because smtp client at that
time did not implement connection caching yet. Later we preferred
smtp because with lmtp dropping a session on a server side was not
nice. Perhaps nowadays we may again start promoting lmtp.

So in summary: either will do, I currently don't have strong arguments
to prefer one over the other. Perhaps somebody from the Postfix side
can show a preference.

  Mark

Reply via email to