Daniel Hopkirk - RandomInsanity:
> Hi Guys,
>
> Thanks Wietse for your comments, you confirmed what I assumed but couldn't
> afford to assume!
>
> And thanks for your thoughts Bennett. I'm happy to say that the key points
> you mentioned are ones we have already given thought as part of our general
> planning.
>
> I've been progressing following your comments and have made good progress
> but have hit a road block that I'm hoping someone can spot what I'm missing.
>
> The short issue is that although we're using 'reject_unverified_recipients'
> and have set 'unverified_recipient_reject_code = 550', mail is still
> continuing and going through greylisting (returning 450 to client) and not
> until greylisting is over is it rejecting the email back to the client. The
Your 550 reply code applies IF AND ONLY IF the downstream server
rejects the recipient.
In your case, the answer is determined by the setting of
unverified_recipient_tempfail_action.
reject_unverified_recipient
Reject the request when mail to the RCPT TO address is known to
bounce, or when the recipient address destination is not reach-
able. Address verification information is managed by the ver-
ify(8) server; see the ADDRESS_VERIFICATION_README file for
details.
The unverified_recipient_reject_code parameter specifies the
numerical response code when an address is known to bounce
(default: 450, change into 550 when you are confident that it is
safe to do so).
The unverified_recipient_defer_code parameter specifies the
numerical response code when an address probe failed due to a
temporary problem (default: 450).
>>> The unverified_recipient_tempfail_action parameter specifies the
>>> action after address probe failure due to a temporary problem
>>> (default: defer_if_permit).
This feature is available in Postfix 2.1 and later.
Ignoring the confusing text (and corresponding implementation) the
up-shot is that either your address probe is still in flight, the
down-stream server is unavailable, or the down-stream server replied
with 4XX.
In all those cases you don't want to 5XX reject the recipient
because the address may still be good. With defer_if_permit, Postfix
looks for other reasons to hard reject the recipient, hence the
greylist and other checks.
Wietse