also sprach Henrique de Moraes Holschuh <hmh@debian.org> [2005.08.28.1520 +0200]:
> Which is quite correct, but not what I asked you about. Please make your
> test MDA output a permanent error to postfix, and watch what postfix will
> do. If I am correct in my suspicions, it should reject the message with a
> 5xx immediately, without queueing.
How would 4xx and 5xx be different? There are four different cases
to consider:
1. the SMTP connection is still open and
- a temporary error occurs: 4xx
- a permanent error occurs: 5xx
2. the mail has been accepted and a 250 was sent to the client in
response to a <CR>.<CR> after the DATA/354 exchange.
- a temporary error occurs: postfix keeps the mail in the queue
- a permanent error occurs: postfix generates a DSN to the
envelope sender
I am arguing that by the time procmail is invoked, the 250 has been
sent and (1.) is out of reach. This is what my tests show, whether
it was a permanent or temporary error.
To be able to do a 4xx/5xx requires a policy server to be invoked
during the smtpd conversation. It seems not possible with postfix to
deliver mail to a command or delivery service without queuing it
first. The local(8) daemon doesn't communicate with smtpd, it only
communicates with nqmgr. Look at
http://www.postfix.org/big-picture.html and you'll see what I mean.
You could only do at-SMTP-time with a before-queue policy server. It
would be quite a mistake to attempt to do delivery at this time,
IMHO.
--
Please do not send copies of list mail to me; I read the list!
.''`. martin f. krafft <madduck@debian.org>
: :' : proud Debian developer and author: http://debiansystem.info
`. `'`
`- Debian - when you have better things to do than fixing a system
Invalid/expired PGP (sub)keys? Use subkeys.pgp.net as keyserver!
"glaube heißt nicht wissen wollen, was wahr ist."
- friedrich nietzsche
Attachment:
signature.asc
Description: Digital signature (GPG/PGP)