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