Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

we use postfix to do relaying.

We get several messages like the following in /var/log/mail (slightly edited)

Apr 13 13:30:29 linserver postfix/smtpd[1064]: NOQUEUE: reject: RCPT from unknown[$ip]:     450 4.1.1 <>: Recipient address rejected: undeliverable address: host [$ip] said: 550 <>: Recipient address rejected: User unknown in virtual mailbox table (in reply to RCPT TO command); from=<> to=<> proto=ESMTP helo=<BLUESTREAK.domain.local>

Now, when the master mail servers gives a 550, claiming that the user does not exist, I want the relay to also give a 550 back. What happens now is that it seems to return a 450, causing clients to keep messages queued, keep trying and only notify users after a certain period has passed.

According to what I could find, the soft_bounce could cause this. But we have not enabled this option (and by default it's off according to postfix docs) It might also have something to do with the *_reject_code postconf values. Especially since the log message complains the unknown ip. But as you can see in the postconf output below, smtpd_sender_restrictions and smtpd_client_restrictions are empty. So even if it would try to do any restrictions there, 550 is the "worst" error going on, so that's what I expect to be returned to the client.



share|improve this question

Add/Change "unknown_address_reject_code = 550" in Postfix conf file and try.

share|improve this answer
According to the docs, that setting is a parameter which affects reject_unknown_sender_domain and reject_unknown_recipient_domain behavior. However, I have no reject_unknown_sender_domain in my config. I do have the reject_unknown_recipient_domain recepient restriction, but the docs say "Reject the request when the recipient mail address has no DNS A or MX record" this is not the case. the domain has an A record. – user40465 Apr 14 '10 at 7:44

I set unverified_recipient_reject_code to 550 and that seems to fix it

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.